Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#1

PopupMenu offen lassen

  Alt 22. Apr 2011, 13:28
Ich nutze ein PopupMenu mit zwei Items (CheckBox-Modus).
Wenn ein Item angeklickt wird soll das Menü noch offen bleiben (bzw. wieder an gleicher Stelle geöffnet werden).
Letzteres könnte ich regeln, müsste mir aber in einer externen Variable in OnPopup den Punkt merken, wo das Menü geöffnet wird.
Gibt es eine schlankere Möglichkeit?
(Mögliche andere Item-Klicks oder Verlassen des Menüs sollen dieses ganz normal schließen.)

Delphi-Quellcode:
procedure TdmlOlympic.MIPlayerHelpPlayerClick(Sender: TObject);
var
  PanelPlayer: TodPanelPlayer;
begin
  if PopupMenuPlayer.PopupComponent is TodPanelPlayer then
  begin
    //PopupMenuPlayer.DoNotCloseOnThisClick;
    PanelPlayer := PopupMenuPlayer.PopupComponent as TodPanelPlayer;
    PanelPlayer.odPlayer.HelpPlayer := MIPlayerHelpPlayer.Checked;
    //PopupMenuPlayer.OpenOnOldPosition;
  end;
end;

procedure TdmlOlympic.MIPlayerTeamLeaderClick(Sender: TObject);
var
  PanelPlayer: TodPanelPlayer;
begin
  if PopupMenuPlayer.PopupComponent is TodPanelPlayer then
  begin
    //PopupMenuPlayer.DoNotCloseOnThisClick;
    PanelPlayer := PopupMenuPlayer.PopupComponent as TodPanelPlayer;
    PanelPlayer.odPlayer.TeamLeader := MIPlayerTeamLeader.Checked;
    //PopupMenuPlayer.OpenOnOldPosition;
  end;
end;



[EDIT]
Oh Mann, wer lesen kann ist klar im Vorteil!
PopupPoint ist ja öffentlich...
PopupMenuPlayer.Popup(PopupMenuPlayer.PopupPoint.X, PopupMenuPlayer.PopupPoint.Y);
[/EDIT]
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (22. Apr 2011 um 13:39 Uhr)
  Mit Zitat antworten Zitat