А не проще в 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.
У каждого меню есть один пункт.