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

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

Как прописать условия появления PopupMenu?


Islander ©   (2004-07-11 11:29:00) 

Здравствуйте!

Есть компонент и попапменю к нему. Надо сделать так, чтобы при определенных условиях при щелчке на этом компоненте меню раскрывалось, а при других условиях - нет. Как это можно сделать?


Almaz   (2004-07-11 14:24:00) [1]


> Islander   (11.07.04 11:29)  
> Здравствуйте!
>
> Есть компонент и попапменю к нему. Надо сделать так, чтобы
> при определенных условиях при щелчке на этом компоненте
> меню раскрывалось, а при других условиях - нет. Как это
> можно сделать?

В D5 и выше есть событие OnContextPopup. Если обработчик OnContextPopup установит Handled := TRUE;то PopupMenu, связанное с компонентом, вызвано не будет, а если   Handled := FALSE;, то соответственно будет.
Например:

procedure TForm1.Memo1ContextPopup(Sender: TObject; MousePos: TPoint;
 var Handled: Boolean);
begin
 Handled := ...Мое условие...;
end;


Удачи.


GrayFace   (2004-07-11 14:21:00) [2]

OnContextPopup. Если условия выполняются, то PopupMenu1.Popup(mouse.CursorPos.x,mouse.CursorPos.y);


Arm79   (2004-07-11 13:06:00) [3]

Вообще то анализ условий показа меню можно осуществить по событию онКлик компонента, не доводя дело до события Попап

А так, ну прям не знаю, пробеги по списку итемов меню и установи каждому свойство Visible в False или True в зависимости от условий


Islander   (2004-07-11 12:44:00) [4]

Нет, это надо сделать в момент обработки события PopupMenu Popup


Arm79   (2004-07-11 11:56:00) [5]

Изменяй значение поля PopupMenu у компонента на nilи popupmenu1


Наверх

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