Delphi 如何拥有vsIcon样式的Draw TListView位图?

Delphi 如何拥有vsIcon样式的Draw TListView位图?,delphi,Delphi,在使用vsReport样式的TListView中,StackOverFlow到ownerdraw子项中有一些很好的示例,但是我找不到任何关于如何在使用vsIcon样式的TListView中拥有位图的示例 我的位图存储在第三方列表中,大小调整为32x32。我不想使用ImageList,因为位图在第三方列表中可用。下面显示的代码绘制第一个图标ok,但其余项目为空我应该在其他有权访问TRect的活动中这样做吗? procedure TForm1.cxListView1CustomDrawItem(Se

在使用vsReport样式的TListView中,StackOverFlow到ownerdraw子项中有一些很好的示例,但是我找不到任何关于如何在使用vsIcon样式的TListView中拥有位图的示例

我的位图存储在第三方列表中,大小调整为32x32。我不想使用ImageList,因为位图在第三方列表中可用。下面显示的代码绘制第一个图标ok,但其余项目为空我应该在其他有权访问TRect的活动中这样做吗?

procedure TForm1.cxListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem;
  State: TCustomDrawState; var DefaultDraw: Boolean);
var
  iBitmap: TBitmap;
  iRect: TRect;
begin
  { Create a TBitmap }
  iBitmap := TBitmap.Create;
  iBitmap.Width := 32;
  iBitmap.Height := 32;
  if Item.Index <> -1 then
  begin
    { Copy a bitmap from the list to iBitmap }
    AIEImageList.Image[Item.Index].CopyToTBitmap(iBitmap);
    { Resample the bitmap }
    iBitmap.IEResample(32, 32);
    {FIX}
    iRect := Item.DisplayRect(drBounds);
    { Draw the bitmap }
    Sender.Canvas.Draw(iRect.Left, iRect.Top, iBitmap);
  end;
  iBitmap.Free;
end;
过程TForm1.cxListView1CustomDrawItem(发送方:TCustomListView;项:TListItem;
状态:TCustomDrawState;变量DefaultDraw:Boolean);
变量
iBitmap:TBitmap;
直接疗法:TRect;
开始
{创建一个TBitmap}
iBitmap:=TBitmap.Create;
iBitmap.宽度:=32;
iBitmap.高度:=32;
如果Item.Index为-1,则
开始
{将位图从列表复制到iBitmap}
AIEImageList.Image[Item.Index].copytoBitmap(iBitmap);
{对位图重新采样}
iBitmap.IEResample(32,32);
{FIX}
direct:=Item.DisplayRect(drBounds);
{绘制位图}
Sender.Canvas.Draw(direct.Left、direct.Top、iBitmap);
结束;
iBitmap.Free;
结束;

你是如何得到树的?好的。。谢谢它现在可以使用了。