• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

delphi资源文件的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

资源文件(*.res)通过编译指令 $R 关联, 譬如工程文件 Project1 中的 {$R *.res} 就是关联 Project1.res 资源文件, 我们直接写作 {$R Project1.res} 不会有问题(但如果工程文件改名时, 你也得随着改才行). 譬如:

program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R Project1.res}

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.


这个资源文件中至少包含着文件图标, 假如我们删除 {$R *.res} 后编译, 看前后对比图:



这时我们可以通过代码, 调用其他图标:

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.Icon.LoadFromFile('c:"temp"my.ico');
end;



这样还是不好, 如果运行程序的电脑没有这个文件呢? 最好让程序携带着它, 这就要通过资源文件. 让我们从头来过:

1、新建一个 VCL Forms Application; 并 Save All;

2、并通过菜单 Project → View Souse 打开工程源文件;

3、删除 {$R *.res}

4、如图新建一个 Text 文件



5、文件编辑如下:
MainIcon ICON "c:"temp"my.ico"

注意: 其中的 c:"temp"my.ico 可以随便定义, 但文件必须存在; 另外其中的所有大小写无关, 路径两边的双引号也可以省略.

6、把它保存为: Project1.rc ; 注意要保存在程序相同目录, 文件名和工程文件名相同, 后缀是 rc

7、如图把 Project1.rc 添加到工程组:



8、这时工程文件自动添加了一行: {$R 'Project1.res' 'Project1.rc'}

9、好了, 编译执行程序, 如图:



注释:

1、*.rc 文件算是资源文件(*.res) 的源文件, 在程序编译过程中会编译成同名的 res 文件;

2、上面的例子是个特例, 一般我们不能使用和工程同名的资源文件;

3、 MainIcon ICON "c:"temp"my.ico" 中的 ICON 说明这是一个图标资源, MainIcon 是该资源的标识符, 这个标识符应该是可以自定义的, 不过在这个特例中, 只能使用 MainIcon , 因为程序要从同名的资源文件中查找标识为 MainIcon 的资源做图标.

 

http://blog.csdn.net/hack_wg/article/details/5284297


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
关于引擎代码从Delphi2007升级至Delphi10.1的一些历程发布时间:2022-07-18
下一篇:
delphi在主程序中延时发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap