我怎样才能使用嵌入字体或在我firemonkey应用程序安装新字体?
我想这个解决方案 ,但WM_FONTCHANGE
不FMX定义!
我想使用自定义字体在我的申请,我可怎么办呢?
我怎样才能使用嵌入字体或在我firemonkey应用程序安装新字体?
我想这个解决方案 ,但WM_FONTCHANGE
不FMX定义!
我想使用自定义字体在我的申请,我可怎么办呢?
我跟着指示在这里,他们是有一定的帮助。 我有一些额外的提示,可以帮助,
现在,我已经加入以下代码,
procedure TMainForm.FormCreate(Sender: TObject);
begin
AddFontResource('c:\fontpath\myfont.ttf');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
RemoveFontResource('c:\fontpath\myfont.ttf');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
当我在firemonkey形式运行此,我观察到以下。
这告诉我,我的代码工作(见子弹1和6) - 但如果你使用记事本中显示的名称FMX不会承认我的主窗体上的字体。 我已经四检查的字体名称。
我创建了两个相同的项目。 一个是VCL,另一个是FMX。 该项目VCL完美的作品 - 无论是静态文本和动态文本。 该FMX代码适用于没有。 如果让我猜的话,我会说,FMX是建立在启动时字体列表,并核对该列表可用字体(即像高速缓存)的列表。 我斗胆这么做是抽象FMX从底层操作系统的猜测...
如果有人已根据firemonkey这项工作中,我将不胜感激任何意见。 此外,如果有人知道如何实现在Mac下的同一个目标,我会很感激的指针了。
问候,
埃德先生。
你肯定可以使用Winapi.Messages
单元在您的FMX应用程序,它显然是针对Windows,消息不断被定义在那里。
如果你不希望使用Winapi.Messages
,只是定义常量在自己的代码:
const
WM_FONTCHANGE = $001D;