Показать сообщение отдельно
  #2  
Старый 01.12.2016, 00:43
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А не проще в design time рвзвесить нужные меню на соотв панели и уже при вызове получаит указатель на панель, с которой было показано меню?
Примерно так:
Код:
procedure TForm1.N111Click(Sender: TObject);
var
  C : TComponent;
begin
  C := pn11menu.PopupComponent;
  If (C <> Nil) And (C Is TPanel) Then
    (C As TPanel).Color := clGreen;
end;

procedure TForm1.N11Click(Sender: TObject);
var
  C : TComponent;
begin
  C := pn1menu.PopupComponent;
  If (C <> Nil) And (C Is TPanel) Then
    (C As TPanel).Color := clRed;
end;

procedure TForm1.N131Click(Sender: TObject);
var
  C : TComponent;
begin
  C := pn13menu.PopupComponent;
  If (C <> Nil) And (C Is TPanel) Then
    (C As TPanel).Color := clBlue;
end;

На форме лежит панель pn1, на ней - 3 панели pn11, pn12 и pn13.
Для pn1 назначено меню pn1menu, pn11 и pn 12 - pn11menu, pn13 - pn13menu.
У каждого меню есть один пункт.
Ответить с цитированием