procedure PopUntermenue(OWNR, X, Y, MH, UM: Integer);
begin
TrackPopupMenu(Getsubmenu(MH, UM), TPM_LEFTBUTTON or
TPM_LEFTALIGN, X, Y, 0, OWNR, nil);
end;
// Beispielaufruf
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
p: TPoint;
welches: integer;
begin
if Button = mbRight then begin
welches := 0;
GetCursorPos(p);
PopUntermenue(handle, p.X, p.Y, MainMenu1.Handle, welches);
end;
end;