仔细看看吧:
调试通过的。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ImgList, ComCtrls,shellapi, ExtCtrls;type
TForm1 = class(TForm)
ListView1: TListView;
ImageList1: TImageList;
Button1: TButton;
OpenDialog1: TOpenDialog;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
info:_shfileinfoa;
item:tlistitem;
begin
if OpenDialog1.Execute then
begin
for i:=0 to OpenDialog1.Files.Count-1 do
begin
SHGetFileInfo(pchar(OpenDialog1.Files.Strings[i]),0,info,sizeof(info),SHGFI_ICON+SHGFI_LARGEICON);
image1.Picture.Icon.Handle:=info.hIcon;
imagelist1.AddIcon(image1.Picture.Icon);
item:=listview1.Items.Add;
item.ImageIndex:=i;
item.Caption:=extractfilename(OpenDialog1.Files.Strings[i]);
end;
end;
end;end.
调试通过的。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ImgList, ComCtrls,shellapi, ExtCtrls;type
TForm1 = class(TForm)
ListView1: TListView;
ImageList1: TImageList;
Button1: TButton;
OpenDialog1: TOpenDialog;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
info:_shfileinfoa;
item:tlistitem;
begin
if OpenDialog1.Execute then
begin
for i:=0 to OpenDialog1.Files.Count-1 do
begin
SHGetFileInfo(pchar(OpenDialog1.Files.Strings[i]),0,info,sizeof(info),SHGFI_ICON+SHGFI_LARGEICON);
image1.Picture.Icon.Handle:=info.hIcon;
imagelist1.AddIcon(image1.Picture.Icon);
item:=listview1.Items.Add;
item.ImageIndex:=i;
item.Caption:=extractfilename(OpenDialog1.Files.Strings[i]);
end;
end;
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货