Используйте HWND (или что-то подобное) в качестве образа узла в Virtual Stringtree - PullRequest
0 голосов
/ 08 мая 2011

Можно ли отобразить значок, полученный из внешнего дескриптора, как образ моего узла в Virtual Stringtree? Данные узла содержат HWND.

1 Ответ

2 голосов
/ 08 мая 2011

Я бы использовал 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;
...