type
TForm1 = class(TForm)
...
private
ActivePopup: TPopupMenu;
procedure CM_MenuClosed(var msg: TMessage) ; message CM_MENU_CLOSED;
procedure CM_EnterMenuLoop(var msg: TMessage) ; message CM_ENTER_MENU_LOOP;
procedure CM_ExitMenuLoop(var msg: TMessage) ; message CM_EXIT_MENU_LOOP;
public
{ Public declarations }
end;
procedure TForm1.CM_ExitMenuLoop(var msg: TMessage);
begin
Caption := 'PopMenu exited';
if not Assigned(ActivePopup) then Exit; {safety}
showmessage(ActivePopup.Name);
ActivePopup:= nil;
end;
//All the PopupMenus shall share this OnPopup event
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
ActivePopup:= (Sender AS TPopupMenu);
end;
Open in new window