现在要做一个携带两个图标的资源文件, 并调用的例子.

1、首先建新工程, 保存, 注意这次我们不删除 {$R *.res}

2、复制两个 ico 文件到工程目录, 譬如文件是: IcoFile_1.ico、IcoFile_2.ico

3、建立文本文件输入:
ico1 ICON IcoFile_1.ico
ico2 ICON IcoFile_2.ico

然后保存为: MyRes.rc, 并 Add 到工程中, 如图:

4、此时的工程文件会自动插入: {$R 'MyRes.res' 'MyRes.rc'}

5、添加四个按钮, 实现代码如下:

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}//使用资源中的第一个自定义图标
procedure TForm1.Button1Click(Sender: TObject);
beginApplication.Icon.Handle := LoadIcon(HInstance, 'ico1');
{HInstance 当前程序实例的句柄, 调用资源文件一定要用到它;ico1 是资源文件的标识符;LoadIcon 是个 API 函数, 专门用于调用资源中的 ico 文件, 它返回的是指定 ico 文件的句柄.
}
end;//使用资源中的第二个自定义图标
procedure TForm1.Button2Click(Sender: TObject);
beginApplication.Icon.Handle := LoadIcon(HInstance, 'ico2');
end;//使用资源中默认的程序图标
procedure TForm1.Button3Click(Sender: TObject);
beginApplication.Icon.Handle := LoadIcon(HInstance, 'MainIcon');
end;//不使用图标(会显示 Windows 系统的默认图标)
procedure TForm1.Button4Click(Sender: TObject);
beginApplication.Icon := nil;
end;end.//效果图:



注释:

1、此时的 MyRes.rc 被编译成了 MyRes.res;

2、此时的 IcoFile_1.ico、IcoFile_2.ico 文件被编译进 MyRes.res;

3、此时的 MyRes.res 文件也被编译到 Project1.exe 中了.


转载于:https://www.cnblogs.com/del/archive/2008/02/14/1068519.html

学习使用资源文件[2] - Ico相关推荐

  1. 学习使用资源文件[11] - DLL 中的资源文件

    本例将把一张 bmp 图片, 以资源文件的方式嵌入 dll, 然后再调用. 第一步: 建一个 DLL 工程, 如图: 然后保存, 我这里使用的名称都是默认的. 第二步: 建一个资源原文件, 如图: 编 ...

  2. java assetmanager_Android学习--Assets资源文件读取及AssetManager介绍

    APK安装过程 复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录,An ...

  3. 学习使用资源文件[9] - WAVE 资源

    为什么80%的码农都做不了架构师?>>>    //rc 文件: sound1 WAVE "SoundFile1.wav" sound2 WAVE "S ...

  4. 学习使用资源文件[6] - 菜单资源

    为什么80%的码农都做不了架构师?>>>    //rc 文件: MyMenu1 MENU begin Popup "File" begin MenuItem & ...

  5. SilverLight学习笔记--关于Silverlight资源文件(如:图片)的放置位置及其引用

    Silverlight中有许多资源文件,例如:图片,音频.视频,甚至XML和XAML等非执行数据文件,在Silverlight中根据资源所处位置的不同而有所区别.    资源文件可分布在我们Silve ...

  6. 资源文件相关学习总结

    windows资源文件(.rc)是如何变成窗口控件的 在Visual C++使用资源来创建对话框,菜单,以及一些自定义控件,实际是为了减少基于Win32 SDK 编程开发人员在编写Applicatio ...

  7. asp.net core合并压缩资源文件引发的学习之旅

    0. 在asp.net core中使用BuildBundlerMinifier合并压缩资源文件 在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www. ...

  8. res资源文件学习之res/values/attr.xml

    一.资源文件作用描述 作用:该资源文件用于自定义控件属性 二.详细说明 常用节点如下: 1.定义:使用一个完整的declare-styleable节点,对一个控件进行属性的定义. 2.属性在类中调用: ...

  9. QT学习笔记(八)资源文件

    一.创建工程 创建工程时,打开"generate form",即创建界面 创建完成后可以看到:多了一个forms文件夹,里面有mainwindow.ui文件 并且:pro文件里也会 ...

最新文章

  1. hive的数据定义之创建数据库和表
  2. phpcms URL修改
  3. Mysql函数示例(如何定义输入变量与返回值)
  4. 连接数据库字符串编辑
  5. ekf pose使用方法 ros_robot_pose_ekf 使用说明
  6. ylbtech-LanguageSamples-Porperties(属性)
  7. Python爬虫实战(5):模拟登录淘宝并获取所有订单(1)
  8. hadoop3.0新特性介绍
  9. Caffe中如果高效实现卷积层
  10. 【Clickhouse】Too many partitions for single INSERT block (more than 100)
  11. 【Java集合源代码剖析】TreeMap源代码剖析
  12. mysql二级索引_mysql 什么是二级索引
  13. Periodic Call 1.0
  14. 电子邮件--详解SMTP和POP3协议
  15. 软件测试计划与测试方案
  16. 人人都在推销(销售永不为“奴”)
  17. 【APP自动化测试】Python + Appium + 模拟器 +UiAutomatorViewer 实现APP自动化测试
  18. java log 乱码_Java日志文件乱码
  19. Google drive谷歌网盘下载副本文件无法调用IDM解决方法
  20. 迅雷9窗口右侧的内置浏览器如何去掉。

热门文章

  1. VS2019 WPF制作OTA上位机(二)获取bin文件路径
  2. 8086标志寄存器FLAG
  3. linux ls 命令排序,如何在Linux中使用ls命令按大小对所有文件进行排序
  4. C++---两数之和
  5. 定时器--STM32f4--HAL
  6. 远控免杀专题(24)-CACTUSTORCH免杀
  7. python网络爬虫_python小知识,基于Python 的网络爬虫技术分析
  8. golang实现聊天室(五)
  9. Effective C++学习第一天
  10. C++基类指针指向派生类(指针)