Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.07.10;
Скачать: [xml.tar.bz2];

Вниз

PopupMenu и свой компонент   Найти похожие ветки 

 
Matveih1 ©   (2011-03-30 11:55) [0]

Добрый день.

Подскажите как к своему компоненту прикрутить PopupMenu.
Компонент представляет из себя маленький редактор, и надо что бы меню вызывалось только на определенных фигурах, которые расположены в разных местах. Фигуры рисуются прям в компоненте. Определить над чем сейчас мышь, могу, а вот как позвать PopupMenu если она над нужной фигурой не могу сообразить.


 
clickmaker ©   (2011-03-30 11:56) [1]

PM.Popup()


 
Германн ©   (2011-03-30 11:58) [2]


> а вот как позвать PopupMenu

MyPopupMenu.Popup не?


 
Matveih1 ©   (2011-03-30 11:59) [3]


> PM.Popup()
 -- не понял, можно подробней


 
Matveih1 ©   (2011-03-30 12:03) [4]

Не понимаю. Я объявил
property PopupMenu;

Сослался на PopupMenu и теперь меню зовется всегда, в любом месте компонента, а мне надо звать только в определенных. Если туплю то поправьте


 
Anatoly Podgoretsky ©   (2011-03-30 14:01) [5]

Ну зови только в тех местах, ведь никто не запрещает.


 
Matveih1 ©   (2011-03-30 14:13) [6]

Я понимаю, но я никаких обработчиков не писал, а уже все работает т.е. меню появляется
вот кусок компонента

TMay = class(TCustomControl)
 published
   property PopupMenu;


И все, я в свойстве выбрал popup и он уже работает разу во всех местах компонента. Хотя я обработчиков не писал. Вопрос как запретить меню работать по умолчанию, а работать только по событию

WMRButtonDown(var Msg: TWMMose);
begin
 inherited;

 if PopupMenu <> nil then
 begin
   ... // какието есловия
   PopupMenu.Popup(Msg.Xpos, Msg.YPos);
 end;
end;


 
clickmaker ©   (2011-03-30 14:16) [7]

procedure DoContextPopup(MousePos: TPoint; var Handled: Boolean); override;
begin
 if not // какието есловия
   Handled := true;
end;


 
Matveih1 ©   (2011-03-30 14:34) [8]


> clickmaker ©   (30.03.11 14:16) [7]
>
> procedure DoContextPopup(MousePos: TPoint; var Handled:
> Boolean); override;
> begin
>  if not // какието есловия
>    Handled := true;
> end;

Спасибо, помогло.



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

Форум: "Начинающим";
Текущий архив: 2011.07.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.056 c
11-1235124028
BMouradov
2009-02-20 13:00
2011.07.10
Вопрос по PStrListEx


1-1259145289
istok20
2009-11-25 13:34
2011.07.10
чтение писем из eml формата..


15-1300829404
Юрий
2011-03-23 00:30
2011.07.10
С днем рождения ! 23 марта 2011 среда


15-1300913792
Handbrake
2011-03-23 23:56
2011.07.10
Динамическая пакетная архитектура и БД


1-1259091900
Misterix
2009-11-24 22:45
2011.07.10
Перетащить картинку с рабочего стола на TImage





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский