15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


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

В 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;