![]() |
TPopupMenu.Visible
Hallo,
ich suche eine Möglichkeit herauszufinden, ob ein bestimmtes Popupmenü gerade angezeigt wird, oder nicht. Also etwas in der Art:
Delphi-Quellcode:
Kurz gesagt, während das Popupmenü angezeigt wird,
procedure TForm1.Timer1Timer(Sender: TObject);
begin if PopupMenu1.Visible then exit; bla; blabla; end; führe bestimmte zyklische Abläufe nicht aus... Ciao Peter |
Re: TPopupMenu.Visible
hallo,
also unter Popup-Menü verstehe ich, wenn ich mit der rechten Maustaste irgendwo hinklicke, das mir ein Menü aufklappt.Da brauchst du doch nur überprüfen ob die linke Maus an der Stelle geklickt wurde... Oder verstehe ich das falsch? MFG Alex |
Re: TPopupMenu.Visible
Hi Peter,
du musst mit mehreren Ereignissen arbeiten: TPopupMenu.OnPopup: Dieses Ereignis wird ausgelöst, sobald sich das Popupmenu öffnet. Leider gibt es kein Ereignis, das eintritt sobald das Menu wieder geschlossen wird, dies ist aber auch nicht sehr schwer abzufangen: der nächste Mausklick auf dem Form schließt das Menu wieder (egal ob auf ein MenuItem oder nicht). Ich hoffe du kannst damit etwas anfangen. Greetz alcaeus |
Re: TPopupMenu.Visible
oder du fragst,
Delphi-Quellcode:
MFG Alex
if PopupMenu1.Items[0].Visible then ...
|
Re: TPopupMenu.Visible
Das Popup wird aber bei einem Klick auf ein
Trayicon angezeigt. Also wird es keinen Klick auf ein Hauptfenster geben :-( |
Re: TPopupMenu.Visible
Hi Alex,
Zitat:
Greetz alcaeus |
Re: TPopupMenu.Visible
Hi Peter,
Zitat:
![]() Aber ob das nicht ein bisschen overkill ist :gruebel: Greetz alcaeus |
Re: TPopupMenu.Visible
das es nicht die schönste Variante ist weiß ich auch, trotzdem danke
ich benutze selber auch nur die visible eigenschaft fürs aus/ein-blenden bestimmter Einträge. dies beispiel ist mir nur eben grade mal eingefallen... ich würde auch am besten auf die Mouseereignisse reagieren, weil sie schon vorhanden sind (MouseUp,Down,Move) und dadurch leicht zu bewältigen sind MFG Alex |
Re: TPopupMenu.Visible
Es muß doch aber eine Möglichkeit vorhanden sein,
sich beim öfnnen des Popupmenüs das Handle zu merken und dann damit zu prüfen ob das Menü noch offen ist!? Ein Popupmenü ist doch streng genommen auch nur ein Fenster! Oder? |
Re: TPopupMenu.Visible
Na klar:
du speicherst im OnPopup das Handle des PopupMenus, und anschließend musst du mit den API-Funktionen prüfen, ob das Handle noch existiert. Ob oder Wie das geht weiß ich jetzt leider auch nicht :oops: Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz