現在要做一個攜帶兩個圖標的資源文件 並調用的例子
首先建新工程 保存 注意這次我們不刪除 {$R *res}
復制兩個 ico 文件到工程目錄 譬如文件是 IcoFile_icoIcoFile_ico
建立文本文件輸入
ico ICON IcoFile_ico
ico ICON IcoFile_ico
然後保存為 MyResrc 並 Add 到工程中 如圖
此時的工程文件會自動插入 {$R MyResres MyResrc}
添加四個按鈕 實現代碼如下
unit Unit;
interface
uses
Windows Messages SysUtils Variants Classes Graphics Controls Forms
Dialogs StdCtrls;
type
TForm = class(TForm)
Button: TButton;
Button: TButton;
Button: TButton;
Button: TButton;
procedure ButtonClick(Sender: TObject);
procedure ButtonClick(Sender: TObject);
procedure ButtonClick(Sender: TObject);
procedure ButtonClick(Sender: TObject);
end;
var
Form: TForm;
implementation
{$R *dfm}
//使用資源中的第一個自定義圖標
procedure TFormButtonClick(Sender: TObject);
begin
ApplicationIconHandle := LoadIcon(HInstance ico);
{
HInstance 當前程序實例的句柄 調用資源文件一定要用到它;
ico 是資源文件的標識符;
LoadIcon 是個 API 函數 專門用於調用資源中的 ico 文件 它返回的是指定 ico 文件的句柄
}
end;
//使用資源中的第二個自定義圖標
procedure TFormButtonClick(Sender: TObject);
begin
ApplicationIconHandle := LoadIcon(HInstance ico);
end;
//使用資源中默認的程序圖標
procedure TFormButtonClick(Sender: TObject);
begin
ApplicationIconHandle := LoadIcon(HInstance MainIcon);
end;
//不使用圖標(會顯示 Windows 系統的默認圖標)
procedure TFormButtonClick(Sender: TObject);
begin
ApplicationIcon := nil;
end;
end
//效果圖
注釋
此時的 MyResrc 被編譯成了 MyResres
此時的 IcoFile_icoIcoFile_ico 文件被編譯進 MyResres
此時的 MyResres 文件也被編譯到 Projectexe 中了
From:http://tw.wingwit.com/Article/program/Delphi/201311/8418.html