Идёт загрузка страницы...

htp://aptem.net.ru





/|\АРТЕМ.NET.RU /|\ - Портал для программистов и не только: Delphi Visual Basic BORLAND С++ PERL PHP HTML

Delphi 1

Как вызвать PopupMenu?

Я создал общий обработчик события для всех моих компонентов EditBox. Моя проблема заключается в том, что в обработчике при нажатии правой кнопки мыши мне нужно вызвать PopupMenu, создать список доступных значений, отметить текущее и вернуть обратно в EditBox выбранное, т.е. мне нужна двухсторонняя связь.

Это хороший кандидат в Delphi FAQ. Вот небольшой совет, который я недавно кому-то давал (извините, забыл кому):

Добавьте объявление переменной в секцию private вашей формы:


   
ActivePopUp : TPopUpMenu;

Затем укажите в обработчике события OnPopUp на общий TPopUpMenu как показано ниже:


   
procedure TForm1.OnPopUp (Sender: TObject);
begin
ActivePopUp := Sender as TPopUpMenu;
end;

Затем из обработчика события любого элемента PopupMenu вы можете сослаться на компонент, над областью которого и было вызвано контекстное меню:


   
ActivePopUp.PopUpComponent

-TonyT. [000725]