Главная страница
    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.45 MB
Время: 0.009 c
4-33848
tiam
2003-07-03 11:00
2003.09.11
информацию о нажатой клавиши


7-33833
Antonyan
2003-06-27 12:32
2003.09.11
Exe файл


3-33445
Nikola62
2003-08-21 15:34
2003.09.11
Сравнение таблиц


1-33588
Olvin
2003-08-28 13:50
2003.09.11
Как читать(писать) из(в) определенную строку в файле.


1-33598
AlexPul
2003-09-01 13:30
2003.09.11
Консольные приложения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский