Определить родительский компонент

У нас есть TToolbarButton(s) на панели инструментов, каждая со своим собственным связанным TPopupMenu. Все всплывающие меню одинаковы, поэтому мы хотели бы иметь только одно меню для всех кнопок панели инструментов. Проблема, с которой я сталкиваюсь, заключается в том, чтобы определить, какой ToolbarButton вызвал всплывающее меню.

Я пробовал следующее, но я продолжаю получать нарушение прав доступа.

...

with (Sender as TPopupMenu) do
  ShowMessage((GetParentComponent as TPopupMenu).Name);

...

Любые идеи, как получить родителя всплывающего меню?

Спасибо, Питер.


person Pieter van Wyk    schedule 09.05.2009    source источник
comment
У меню нет родителей. Вы можете хотеть, чтобы компонент связывался с меню, но при этом не использовались отношения родитель-потомок.   -  person Rob Kennedy    schedule 09.05.2009


Ответы (1)


Пытаться

  with (sender as  TPopupMenu)  do
      ShowMessage(PopupComponent.Name);

Это должно дать вам кнопку TToolButton, которая была нажата.

person Re0sless    schedule 09.05.2009
comment
К сожалению, PopupComponent.Name возвращает имя панели инструментов, а не имя кнопки. Он нормально работает в ListBox. Питер. - person Pieter van Wyk; 10.05.2009