标签: wordpad

如何在更改某些非文本字符的字体时使TRichEdit在Windows 7上的行为类似于写字板?

借助于Sertac Akyuz它,似乎直接原因与charset有关\bullet:在我的本地化Windows中,\bullet输入Alt(0149)总是得到输入\fcharset134,并且尝试通过改变其字体EM_SETCHARFORMAT总是失败(好吧,颜色,大小,样式确实可以改变但不是字体系列名称).

因此,最简单的解决方法是首先重置字符集,然后更改字体.

注意:应该使用RichEdit (版本> = 4.1)!

注意:RichEdit版本可以在MSDN的About Rich Edit Controls,Murray Sargent的MSDN Blog RichEdit版本RichEdit版本更新到7.0中找到.后面的页面提到RichEdit版本高于4.1.作为测试,我将使用Office 2010的RICHED20.DLL与应用程序一起复制到Windows 2000,一切都像一个魅力!

procedure TMainForm.ButtonFontClick(Sender: TObject);
var
  format: TCharFormat2;
begin
  if dlgFontCdxTxt.Execute then
  begin
    FillChar(format, sizeof(format), 0);
    format.cbSize:= Sizeof(format);
    format.dwMask:= CFM_CHARSET;
    format.bCharSet := 1; // or 0;
    redtTextBlock.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Integer(@format));

    FillChar(format, sizeof(format), 0);
    format.cbSize:= Sizeof(format);
    format.dwMask:= CFM_FACE;
    StrPLCopy(format.szFaceName, dlgFontCdxTxt.Font.Name, High(format.szFaceName));
    redtTextBlock.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Integer(@format));
  end;
  redtTextBlock.SetFocus;
end;
Run Code Online (Sandbox Code Playgroud)

==================================================

根据维基百科,WordPad …

windows delphi fonts wordpad trichedit

53
推荐指数
1
解决办法
6285
查看次数

为什么TFontDialog提供的字体少于Screen.Fonts?

我想知道为什么TFontDialog提供的字体少于Screen.Fonts?(例如,Arial*字体,漫画字体等在TFontDialog中不显示)

似乎TFontDialog给出的字体列表与写字板相同,而Screen.Fonts给出的字体列表与Word基本相同.

非常感谢您的见解!

PS:Delphi XE,Windows 7

PS:相关的SO主题:

  1. 使用EnumFontFamiliesEx函数枚举时字体太多
  2. 使用Delphi查找系统字体
  3. 如何使用外部字体?

PS:相关网页:

  1. TFontDialog显示所有字体@ borland.newsgroups.archived
  2. TFontDialog显示所有字体@ delphigroups

SYS 应用

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    lst1: TListBox;
    dlgFont1: TFontDialog;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
  lst1.Items.AddStrings(Screen.Fonts);
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  dlgFont1.Device := fdBoth;
  if dlgFont1.Execute then
  begin

  end; …
Run Code Online (Sandbox Code Playgroud)

windows delphi fonts wordpad

4
推荐指数
1
解决办法
771
查看次数

VBscript - "系统找不到指定的文件"

我正在尝试编写一个简短的VBScript,它会打开"calc.exe"和"wordpad.exe".好吧问题是VBScript不会让我打开"wordpad.exe".我试图以管理员身份运行脚本,但这没有帮助.

我的脚本看起来像这样:

Set WshShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "C:\Program Files\Windows NT\Accessories\wordpad.exe"
WSHShell.Run "C:\Windows\System32\calc.exe"
x=msgbox("Test",4096,Test) 
Run Code Online (Sandbox Code Playgroud)

我也试过定义这样的路径:

WSHShell.Run ""C:\Program Files\Windows NT\Accessories\wordpad.exe""
Run Code Online (Sandbox Code Playgroud)

也行不通.我收到的消息是"预期结束声明"

是否有解决方案通过其路径打开"wordpad.exe"?

亲切的问候

vbscript wordpad

3
推荐指数
1
解决办法
2万
查看次数

如何在我的.NET应用程序中使用功能区?

这就是WordPad在Windows 7中的样子:

http://cache.gawker.com/assets/images/lifehacker/2009/01/win7_wordpad.jpg

色带也在油漆中.这让我觉得功能区是"隐藏"在dll文件中的某个地方,我可以导入到我的C#应用​​程序中.这是真的?如果没有,微软是如何制作功能区的.

是的我知道已经有公司为C#制作了功能区,但我想只使用P/Invoke将它添加到我的应用程序中.

c# ribbon wordpad windows-7

1
推荐指数
1
解决办法
4080
查看次数

使用消息在Windows中控制Wordpad

我试图找到一种可靠的方法来控制Windows Wordpad,我成功地将其作为子窗口嵌入到应用程序中.

我想在文档打开后执行的一个命令是"打印预览".PostMessage似乎是一个很好的工具,但我很难找到Wordpad接受的命令参考但没有成功,更不用说可以在WindowsXP机器以及Windows Vista,7和8上运行的命令.

我特别感兴趣的命令列表是:

  • 打印
  • 打印预览
  • 关闭而不保存(以比杀死进程更优雅的方式)

有人可以分享一些关于使用消息控制Wordpad的提示,还是可能以不同的方式?

windows delphi winapi messages wordpad

1
推荐指数
1
解决办法
626
查看次数

标签 统计

wordpad ×5

delphi ×3

windows ×3

fonts ×2

c# ×1

messages ×1

ribbon ×1

trichedit ×1

vbscript ×1

winapi ×1

windows-7 ×1