listview显示图标,ViewStyle为vsReport,LargeImages,SmallImages,StateImages都连ImageList1
ImageList1的Height 和 Width都为32请问为什么显示出来的图标都离左边界有一大段距离,有什么办法能让图标贴边显示
ImageList1的Height 和 Width都为32请问为什么显示出来的图标都离左边界有一大段距离,有什么办法能让图标贴边显示
var
i: integer;
item: TListitem;
strm: TStringStream;
icons: TIcon;
begin
ImageList1.Clear;
ListView1.Clear;
MainForm.ADOQuery1.Close;
MainForm.ADOQuery1.SQL.Clear;
MainForm.ADOQuery1.SQL.Add(sqls);
MainForm.ADOQuery1.Open;
for i:=0 to MainForm.ADOQuery1.RecordCount-1 do
begin
try
strm:= TStringStream.Create('');
TBlobField(MainForm.ADOQuery1.FieldByName('图标')).SaveToStream(strm);
strm.Position:=0;
icons:= TIcon.Create;
icons.LoadFromStream(strm);
item:= ListView1.Items.Add;
item.Caption:= MainForm.ADOQuery1.FieldByName('名称').AsString;
item.ImageIndex:= ImageList1.AddIcon(icons);
finally
strm.Free;
icons.Free;
end;
MainForm.ADOQuery1.Next;
end;
end;