Joh*_*mas 12
如果要使用字体,则必须安装字体.但你可以通过使用伪造这个AddFontResource.
procedure TForm1.FormCreate(Sender: TObject) ;
begin
AddFontResource('c:\FONTS\MyFont.TTF') ;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
//Before application terminates we must remove our font:
procedure TForm1.FormDestroy(Sender: TObject) ;
begin
RemoveFontResource('C:\FONTS\MyFont.TTF') ;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
Run Code Online (Sandbox Code Playgroud)
如您所见,AddFontResource需要一个文件名.同样代表AddFontResourceEx.
所以你需要一个字体文件.但我们也可以假装.
使用JVCL的TjvDataEmbedded,包括你的可执行的TTF文件.嵌入字体文件是直接的.(右键单击,'从文件加载'...).
在运行时,在用户的临时目录中提取您的文件(请参阅TjvDataEmbedded方法 - 我现在不知道,但它应该类似于SaveToFile或类似的东西).顺便说一句,你可以在任何你喜欢的目录中提取它.打电话AddFontResource给它.
此外,根据您的要求,您可以在映射的内存和/或RAM驱动器中提取文件.
HTH
| 归档时间: |
|
| 查看次数: |
10011 次 |
| 最近记录: |