在Virtual Stringtree中使用HWND(或类似的东西)作为节点映像

时间:2011-05-08 11:53:58

标签: windows delphi icons window-handles

是否可以显示从外部句柄获取的Icon,作为Virtual Stringtree中我的节点的图像?节点的数据包含HWND。

1 个答案:

答案 0 :(得分:2)

我会将ImageList分配给您的VT的Images媒体资源和OnGetImageIndex事件。 以下是使用WM_GETICON填充图像列表的方法。

procedure TForm1.Button1Click(Sender: TObject);
var IconHandle: HIcon;

begin
  IconHandle := SendMessage(123456, WM_GETICON, ICON_SMALL2, 0);
  ImageList_AddIcon(ImageList1.Handle, IconHandle);
end;

例如,将0图像索引传递给VirtualTreeView。

procedure TForm10.VirtualStringTree1GetImageIndex(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
  var Ghosted: Boolean; var ImageIndex: Integer);
begin
  ImageIndex := 0;
end;