Virtual ListView с контекстным меню



Два программера разговаривают:
- Вася - ты каких любишь...?
- Нуу - которые 800х600...
- А я 1024х768 - они покрупней - обхватишь, так, прижмёшь.... - здорово (мечтательно, закрыв глаза и пуская, слюни).

В Delphi5/Demos есть пример Virtual ListView. программка чем-то напоминает explorer, но без контекстного меню. контекстное меню приделывается так:


procedure TForm1.PopupMenu1Popup(Sender: TObject);
var
ContextMenu : IContextMenu;
menu : HMENU;
begin
FIShellFolder.GetUIObjectOf(Handle, 1,
ShellItem(ListView.Selected.index).ID,
IID_IContextMenu, nil, ContextMenu);
menu := CreatePopupMenu();
ContextMenu.QueryContextMenu(menu, 0, 1, $7FFF, CMF_EXPLORE);
TrackPopupMenu(menu,
TPM_LEFTALIGN or TPM_LEFTBUTTON or TPM_RIGHTBUTTON or TPM_RETURNCMD,
Mouse.CursorPos.x, Mouse.CursorPos.y, 0, Handle, nil);
DestroyMenu(menu);
end;


Далее: XP Themes - Ошибка kernel32 при отображении ListView »»