AR_01 RCDATA "AR_01 Regular.ttf"
ZR_01 RCDATA "ZR_01 Regular.ttf"

新建一个DLL程序,添加刚才的资源文件,直接编译成DLL文件

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

接下来就是调用字体资源


procedure LoadFontFromDll(const DllName, FontName: PWideChar);
var
DllHandle: HMODULE;
ResHandle: HRSRC;
ResSize, NbFontAdded: Cardinal;
ResAddr: HGLOBAL;
begin
DllHandle := LoadLibrary(DllName);
if DllHandle = 0 then
RaiseLastOSError;
//ResHandle := FindResource(DllHandle, FontName, RT_FONT);
//ResHandle := FindResource(DllHandle, MAKEINTRESOURCE(1), RT_FONT);
ResHandle := FindResource(DllHandle, MAKEINTRESOURCE(FontName), RT_RCDATA);
if ResHandle = 0 then
begin
ShowMessage('ResHandle');
RaiseLastOSError;
end;
ResAddr := LoadResource(DllHandle, ResHandle);
if ResAddr = 0 then
RaiseLastOSError;
ResSize := SizeOfResource(DllHandle, ResHandle);
if ResSize = 0 then
RaiseLastOSError;
if 0 = AddFontMemResourceEx(Pointer(ResAddr), ResSize, nil, @NbFontAdded) then
RaiseLastOSError;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
FontName: PChar;
FontHandle: THandle;
begin
FontName := 'AR_01';
LoadFontFromDll('ZaiRe.dll' , FontName);
FontHandle := CreateFont(0, 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH,
FontName);
if FontHandle = 0 then
RaiseLastOSError;

Label1.Caption:=Edit1.Text;
label1.Font.Handle:=FontHandle;
label1.Font.Size:=72;
end;

完美解决!

DLL 简介 动态 链接库(Dynamic Link Library, DLL )是实现Windows 应用 程序代码重用和共享的重要手段,它是从C语言函数库和Pascal语言的库单元的概念发展起来的 在C和Pascal语言中,很多标准函数可以放在一个函数库中或一个库单元中,在C和Pascal语言中,很多标准函数可以放在一个函数库中或一个库单元中 在程序编译的时候,由编译器把所调用的函数添加到可执行 文件 中去,(即每个调用均会产生一个函数代码的拷贝) 随着使用函数库或库单元等方法已不能适用Windows多任务环境下 应用
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; TfrmMain = class(TForm) btnLoadLibr...
无论是安装一些系统 字体 还是自定义的 字体 文件 ,本方法都是适用的。需要注意的是目前网络上介绍的使用AddFontResource实现安装 字体 ,但是仅仅对本次设置有效,重启之后 字体 还是会消失。使用本文方法可永久实现 字体 的安装。 看看MSDN中关于安装 字体 的介绍: To install unique hidden font resources follow these steps: 1 Copy t...
Delphi 动态 改变VCL对象的颜色和 字体 ,实现的功能有:储存对象、改变颜色、改变 字体 。在 应用 程序运行时 动态 改变VCL对象,而且改变的VCL对象可使用VCL Framework的Persistent功能保存等。通过改变 字体 颜色和 字体 样式来演示这些功能的实现。实现此三功能,代码如下:   储存对象操作:   procedure TForm1.Button1Click(Sender: TObject);   begin    mss.Clear;    mss.WriteComponent(Edit2);   end;   改变 字体 颜色操作:   procedure TForm1.Button2Click(Sender: TObject);   begin    if (Self.ColorDialog1.Execute) then    Edit2.Color := Self.ColorDialog1.Color;   end;   改变 字体 操作:   procedure TForm1.Button3Click(Sender: TObject);   begin    if (Self.FontDialog1.Execute) then    Edit2.Font := Self.FontDialog1.Font;   end;
(郴州职业技术学院, 湖南 郴州  423000) 摘要: 源文件 是一种能有效地组织、管理和使用 源的 文件 形式,在软件开发中有着广泛的 应用 。本文详细介绍了在 Delphi 编程中 源文件 的创建方法和使用技巧。 关键词: Delphi 源文件 ,TResourceStream对象,MCISend String 函数 The Application of Resource F