Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

PopupMenu в PageControl   Найти похожие ветки 

 
BorisKB ©   (2003-08-29 11:49) [0]

Как бы так сделать, что б это меню не открывалось на TabSheet, а только на закладках?


 
Camus ©   (2003-08-29 12:05) [1]

Посмотрите OnContextPopup, IndexOfTabAt и GetHitTestInfoAt.


 
don-do   (2003-08-29 12:07) [2]

Создай наследника с процедурой
procedure WMContextMenu(var Message: TWMContextMenu); message WM_CONTEXTMENU;


 
BorisKB ©   (2003-08-29 12:44) [3]

Прошу прощения, я вероятно был слишком краток в описании проблемы. Я сделал по методу, предложенным Camus-ом, но в этом случае все Control-ы, находящиеся на TabSheet так же теряют свои PopupMenu. Например edit своё меню не показывает.


 
Camus ©   (2003-08-29 13:01) [4]

> BorisKB ©

Можно добавить ControlAtPos, но лучше сначала приведите код и уточните - OnContextPopup КАКОГО компонента задействовано?


 
BorisKB ©   (2003-08-29 13:06) [5]

У компонента PageControl на событие OnPopup PopupMenu прописан вот этот обработчик:
begin
Point := PageControl.ScreenToClient(Mouse.CursorPos);
Ind := PageControl.IndexOfTabAt(Point.x, Point.y);
if Ind = -1 then Abort;
...
end;


 
Camus ©   (2003-08-29 13:55) [6]

procedure TForm1.PageControl1ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
Handled := (PageControl1.GetHitTestInfoAt(MousePos.X, MousePos.Y) <> [htOnItem, htOnLabel])
and (FindVCLWindow(Mouse.CursorPos) is TTabSheet)
end;


 
BorisKB ©   (2003-08-29 16:59) [7]

Camus-у благодарности публично, за недоступностью e-mail :))


 
Camus ©   (2003-08-29 17:20) [8]

> BorisKB © (29.08.03 16:59) [7]

И все-таки лучше поэкспериментировать с ControlAtPos (вместо FindVCLWindow). Иначе pop-up menu не будет вызываться для графических контролов.



Страницы: 1 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-33432
Lenchik_Z
2003-08-22 10:24
2003.09.11
Отключение DBF-ок после выполнения ADOQuery


14-33738
Фомин
2003-08-25 01:16
2003.09.11
Чтение файла


14-33810
Ru
2003-08-22 11:31
2003.09.11
Я понимаю, что еще рано, но все-таки:


1-33551
-=@ndrew=-
2003-08-29 09:57
2003.09.11
подскажите плз.......


4-33838
Jungle
2003-07-13 01:12
2003.09.11
Как заблокировать доступ к диску (логическому или физическому)