动态设置应用程序的图标

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.

posted @ 2009-03-27 23:46  DELPHI&.NET初学者[TECSOON WENDAY]  阅读(291)  评论(0编辑  收藏  举报