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

推荐订阅源

T
Tenable Blog
H
Heimdal Security Blog
K
Kaspersky official blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Schneier on Security
G
GRAHAM CLULEY
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
Google DeepMind News
Google DeepMind News
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
C
Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
Security Archives - TechRepublic
Security Archives - TechRepublic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V
Visual Studio Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Jina AI
Jina AI
P
Proofpoint News Feed
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog
IT之家
IT之家
S
Security Affairs
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
N
News | PayPal Newsroom
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
NISL@THU
NISL@THU

博客园 - 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;