Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Где кликнули правой кнопкой мыши вызывая попап меню?


Германн ©   (2014-10-14 02:19:00) 

<offtop>
Блин, как трудно возвращаться к старому ремеслу.
</offtop>
Нужно показать некую форму в том месте, где была нажата правая кнопка мыши, которая вызвала всплывающее меню, в котором выбрали некий пункт. Что-то не могу найти стандартное/простое решение.


DQ   (2014-10-15 04:36:00) [1]

"Mouse.CursorPos." по сути тоже самое, только не на WinAPI, а обёртка VCL.


Германн   (2014-10-15 02:28:00) [2]


> NoUser ©   (14.10.14 02:41) [1]

GetCursorPos в OnPopup помогло.
ScreenToClient в моём случае лишнее.


Германн   (2014-10-14 02:53:00) [3]

Спасибо. Попробую.


DQ   (2014-10-14 02:47:00) [4]

procedure TMain.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
subFormX:=Mouse.CursorPos.X;
subFormY:=Mouse.CursorPos.Y;
popUp.Popup(subFormX, subFormY);
end;

procedure TMain.popUpB1Click(Sender: TObject);
begin
subForm.Left:=subFormX;
subForm.Top:=subFormY;
subForm.ShowModal();
end;


..?


NoUser   (2014-10-14 02:41:00) [5]

var
 SavePopPos:TPoint;
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
  GetCursorPos(SavePopPos);
  SavePopPos := ScreenToClient(SavePopPos)
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо