惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
V
Visual Studio Blog
宝玉的分享
宝玉的分享
IT之家
IT之家
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
I
InfoQ
B
Blog RSS Feed
T
Threatpost
博客园_首页
M
MIT News - Artificial intelligence
Spread Privacy
Spread Privacy
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Know Your Adversary
Know Your Adversary
U
Unit 42
Engineering at Meta
Engineering at Meta
C
Cyber Attacks, Cyber Crime and Cyber Security
月光博客
月光博客
Scott Helme
Scott Helme
T
Tor Project blog
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
S
Schneier on Security
Vercel News
Vercel News
博客园 - Franky
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
L
LangChain Blog
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
Latest news
Latest news
C
CXSECURITY Database RSS Feed - CXSecurity.com
Hugging Face - Blog
Hugging Face - Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
S
Security Affairs
A
About on SuperTechFans
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
大猫的无限游戏
大猫的无限游戏
W
WeLiveSecurity
Cisco Talos Blog
Cisco Talos Blog
罗磊的独立博客

博客园 - qevan

QCanvasTextWriter 把字体保存到注册表或流中 structures显示的模块的bpl - qevan - 博客园 delphi跟踪调试vcl代码的方法 QTrayIcon v1.0B 根据delphi版本进行编译 在气泡式提示窗口中显示关闭按钮 zz 中国共享软件注册提供商的比较 ShowBalloonTips @ TrayIcon 如何在DELPHI程序中顯示Balloon工具提示﹖ zz 分割人名的代码 电话薄的AT指令 zz 读取中文电话簿 AT+CPMS指令的意义以及AT+CNMI自动接收短信时的方法 一篇短信at指令介绍的文章, 摘过来 短信相关文章的连接 16进制字符转换为10进制 delphi c#的PDU-SMS编程代码 zz Delphi 2005纯WIN32开发环境
Delphi中资源文件使用详解 zz
qevan · 2005-03-25 · via 博客园 - qevan

Delphi中资源文件使用详解 

1
.编写 RC 脚本文本

用记事本或其它文本编辑器编写一个扩展名为“.rc”的文件。格式如下:

资源标识符  资源类型关键字  资源文件名

其中“资源类型关键字”用于标识资源文件的类型:

AVI     无声动画

BITMAP  位图文件

CURSOR  光标文件

ICON    图标文件

WAVE    声音文件

以上所列均为标准资源类型,也可以给资源自定义一个类型,如:“mytype”。不过两者在调用方式上有些不同(在后面示例“存取资源文件中的位图”中有详细描述)。

2.根据 RC 脚本文件编译成 RES 资源文件

在命令提示符中输入以下内容:

brcc32 FileName.rc  //注:brcc32.exeDelphiX\Bin目录中

3.在Delphi单元中加入资源文件

将生成的 RES 资源文件复制到相应程序所在的目录中,在单元文件中的“{$R *DFM}”后面加上“{$R FileName.res}”,编译后资源文件就被包含在可执行文件中了。

说明:如果嫌23两步麻烦,可以采用更简便的做法,即:将 RC 文件直接添加到项目中,在编译Delphi项目时,会自动编译该资源文件。

4.资源文件调用示例

1)存取资源文件中的位图

//RC: testBmp bitmap res\test.bmp

Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'res\test.bmp');


//RC: testBmp bmptype res\test.bmp

var

  resStream: TResourceStream;

begin

  resStream := TResourceStream.Create(HInstance, 'testBmp', 'bmptype');

  Image1.Picture.Bitmap.LoadFromStream(resStream);

  resStream.Free;

end;

请注意上面两种调用方式的不同之处。

2)存取资源文件中的图标

将图标放在资源文件中,可以实现动态改变应用程序的图标。

//RC: testIcon icon res\test.ico

Application.Icon.Handle := LoadIcon(HInstance, 'testIcon');

3)存取资源文件中的AVI动画

//RC: testAvi avi res\test.avi

Animate1.ResName := 'testAvi';

Animate1.Active := True;

4)存取资源文件中的JPEG图像

为了能够处理JPEG图像,必须在Interface处引用JPEG单元。

var

  jpg: TJPEGImage;

  resStream: TResourceStream;

begin

  jpg := TJPEGImage.Create;

  resStream := TResourceStream.Create(HInstance, 'testJpg', 'jpgtype');

  jpg.LoadFromStream(resStream);

  Image1.Picture.Assign(jpg);

  jpg.Free;

  resStream.Free;

end;