Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как прицепить к компоненту Tpopupmenu


Автор: Sunvas 3.4.2006, 07:40
Нужно как-то прикрепить к tlistview меню правой кнопки мыши, но есть одно ограничение - нельзя использовать свойство popupmenu у Tlistview (ну типа там выставляешь и готово).
Ограничение обумовлено особенностью программы.

Автор: Guedda 3.4.2006, 07:51
При движении мышки вычисляешь ее координаты. Если они находятся над TListView, то ловишь сообщение о нажатой правой кнопке мыши, и вызываешь:
Код

PopupMenu1.Popup(x,y);

Добавлено @ 07:56
Вот накатал по быстрому. Все работает, если я тебя правильно понял:
Код

procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  po : TPoint;
begin
  if Button = mbRight then begin
    GetCursorPos(po);
    PopupMenu1.Popup(po.X,po.Y);
  end;
end;

Автор: Snowy 3.4.2006, 08:22
Код
PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);

Автор: Sunvas 4.4.2006, 07:24
Спасибо Guedda и Snowy что выручили.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)