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]