动态设置应用程序的图标
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtDlgs, StdCtrls;
type
TfrmMain = class(TForm)
btnIcon: TButton;
OpenDialog1: TOpenDialog;
procedure btnIconClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
MyIcon:TIcon;
implementation
{$R *.dfm}
{$R Icon.res}
procedure TfrmMain.btnIconClick(Sender: TObject);
begin
if self.OpenDialog1.Execute then
begin
MyIcon.LoadFromFile(self.OpenDialog1.FileName);
Application.Icon:=MyIcon;
end;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
MyIcon := TIcon.Create;
MyIcon.Handle := LoadIcon(hInstance, 'NEWICON');
//或MyIcon.Handle := LoadIcon(hInstance, MAKEINTRESOURCE('NEWICON'));
Application.Icon:=MyIcon;
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MyIcon.Free;
end;
end.