关于listview和数据库的问题
我想用listview和adoquery显示数据库中文件路径的图标。
代码如下:
var
i:Integer;
TempColumn:TListColumn;
TempItem:TListItem;
H: HIcon;
IconInfo: TIconInfo;
AIcon:TIcon;
//DriveItem: TListItem;
y:integer;
s:string;
begin
//ListView1.ViewStyle:=vsReport;
for i:=0 to adoQuery3.FieldCount-1 do
begin
s:=adoquery3.Fields[i].AsString;
//adoquery3.SQL.add
H:= ExtractIcon(Self.Handle,pchar(s), 0);
if (H <> 0) and GetIconInfo(H,IconInfo) then
begin
AIcon:= TIcon.Create;
AIcon.Handle:= CreateIconIndirect(IconInfo);
y:=ImageList1.AddIcon(AIcon);//将该imagelist关联给一个listview,显示出来的图标,边上有个明显的黑圈。
AIcon.Free;
end;
TempColumn:=self.ListView1.Columns.Add;
TempColumn.Caption:=adoQuery3.Fields[i].FieldName;
TempColumn.ImageIndex:=y;
end;
adoQuery3.First;
while not adoQuery3.Eof do
begin
TempItem:=self.ListView1.Items.Add;
TempItem.Caption:=adoQuery3.Fields[0].AsString;
tempitem.ImageIndex:=y;
for i:=1 to adoQuery3.FieldCount-1 do
begin
TempItem.SubItems.Add(adoQuery3.Fields[i].AsString);
end;
adoQuery3.Next;
end;
end;
文件名能显示出来,但是图标不能显示,请大侠们指点