AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TPopupMenu.Visible

Ein Thema von PeterRettig · begonnen am 23. Sep 2004 · letzter Beitrag vom 23. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
PeterRettig

Registriert seit: 4. Jun 2003
Ort: Schleiz
65 Beiträge
 
Delphi 4 Client/Server
 
#1

TPopupMenu.Visible

  Alt 23. Sep 2004, 14:42
Hallo,

ich suche eine Möglichkeit herauszufinden, ob ein
bestimmtes Popupmenü gerade angezeigt wird, oder
nicht. Also etwas in der Art:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if PopupMenu1.Visible then exit;
  bla;
  blabla;
end;
Kurz gesagt, während das Popupmenü angezeigt wird,
führe bestimmte zyklische Abläufe nicht aus...


Ciao Peter
Warum kann man Atommüll nicht auf dem Mars lagern?
Mars bringt verbrauchte Energie sofort zurück!
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#2

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:45
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
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:47
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#4

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:48
oder du fragst,

  if PopupMenu1.Items[0].Visible then ... MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
PeterRettig

Registriert seit: 4. Jun 2003
Ort: Schleiz
65 Beiträge
 
Delphi 4 Client/Server
 
#5

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:49
Das Popup wird aber bei einem Klick auf ein
Trayicon angezeigt. Also wird es keinen Klick
auf ein Hauptfenster geben :-(
Warum kann man Atommüll nicht auf dem Mars lagern?
Mars bringt verbrauchte Energie sofort zurück!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:49
Hi Alex,

Zitat von Alex_ITA01:
oder du fragst,
  if PopupMenu1.Items[0].Visible then ... MFG Alex
ist IMHO nicht die beste Möglichkeit. Ich ändere immer die Visible-Eigenschaft der MenuItems, um dem Benutzer nur begrenzte Möglichkeiten zu geben. Außerdem sind die Items AFAIK auch Visible, obwohl das PopupMenu nicht angezeigt wird

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:50
Hi Peter,

Zitat von PeterRettig:
Das Popup wird aber bei einem Klick auf ein
Trayicon angezeigt. Also wird es keinen Klick
auf ein Hauptfenster geben
Aber es wird einen Klick geben, also wirst du wohl um einen Hier im Forum suchenHook nicht herumkommen.

Aber ob das nicht ein bisschen overkill ist

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#8

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:52
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
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
PeterRettig

Registriert seit: 4. Jun 2003
Ort: Schleiz
65 Beiträge
 
Delphi 4 Client/Server
 
#9

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:57
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?
Warum kann man Atommüll nicht auf dem Mars lagern?
Mars bringt verbrauchte Energie sofort zurück!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: TPopupMenu.Visible

  Alt 23. Sep 2004, 14:59
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

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz