Я создал общий обработчик события для всех моих компонентов 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]