unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = 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;var Form1: TForm1;implementation{$R *.dfm}//使用资源中的第一个自定义图标procedure TForm1.Button1Click(Sender: TObject);begin Application.Icon.Handle := LoadIcon(HInstance, 'ico1');{ HInstance 当前程序实例的句柄, 调用资源文件一定要用到它; ico1 是资源文件的标识符; LoadIcon 是个 API 函数, 专门用于调用资源中的 ico 文件, 它返回的是指定 ico 文件的句柄.}end;//使用资源中的第二个自定义图标procedure TForm1.Button2Click(Sender: TObject);begin Application.Icon.Handle := LoadIcon(HInstance, 'ico2');end;//使用资源中默认的程序图标procedure TForm1.Button3Click(Sender: TObject);begin Application.Icon.Handle := LoadIcon(HInstance, 'MainIcon');end;//不使用图标(会显示 Windows 系统的默认图标)procedure TForm1.Button4Click(Sender: TObject);begin Application.Icon := nil;end;end. //效果图:
注释: 1、此时的 MyRes.rc 被编译成了 MyRes.res; 2、此时的 IcoFile_1.ico、IcoFile_2.ico 文件被编译进 MyRes.res; 3、此时的 MyRes.res 文件也被编译到 Project1.exe 中了.