输出SHELL32.DLL的图标

类别:Delphi 点击:0 评论:0 推荐:

unit iconobject;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,shellapi,comobj, ComCtrls;

type
  TForm1 = class(TForm)
    ListView1: TListView;

    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form1: TForm1;
  Desktopicon: TimageList;
implementation

{$R *.DFM}


procedure TForm1.FormCreate(Sender: TObject);
Var  Sfi       : TSHFileInfo;
     I         : Integer;
     ListItem  : TListItem;
begin
// 输出所有的 windows 95/98/2000 图标
DesktopIcon:= TImageList.Create(Self);
DesktopIcon.Handle := SHGetFileInfo('', 0, sfi, SizeOf(TSHFileInfo),
     shGFI_SYSICONINDEX or SHGFI_SMALLICON);
DesktopIcon.ShareImages := TRUE;
ListView1.SmallImages := Desktopicon;
For I:=0 to 255 -1 do
With ListView1 Do
Begin
ListItem := Items.add;
ListItem.Caption := Inttostr(I);
ListItem.ImageIndex := I;
End;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Desktopicon.free;
end;

end.

本文地址:http://com.8s8s.com/it/it5548.htm