![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прописать условия появления 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