AGB  ·  Datenschutz  ·  Impressum  







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

Festestellen ob MainMenu in Benutzung

Ein Thema von Hobbycoder · begonnen am 28. Mär 2024 · letzter Beitrag vom 3. Apr 2024
Antwort Antwort
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#1

Festestellen ob MainMenu in Benutzung

  Alt 28. Mär 2024, 13:05
Hi,

gibt es irgendeine Möglichkeit festzustellen, ob das MainManu gerade in Benutzung ist?
Der Grund: Ich updatete in regelmäßigen Intervallen einige Untermenus einiger MenuItems (es werden welche entfernt oder hinzugefügt). Wennn nun der Benutzer aber gerade diese offen hat, wir beim aktualisieren das Menu geschlossen. Deswegen würde ich gerne vorher prüfen, ob der Benutzer diese Menus gerade offen hat oder überhaupt im Menu irgendwas offen hat, um die Aktualisierung auf eine späteren Zeitpunkt zu verschieben.
Idealerweise wäre natürlich auch interessant, wenn der Benutzer dann das Mainmenu verlässt.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
677 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Festestellen ob MainMenu in Benutzung

  Alt 28. Mär 2024, 13:55
Muss man für sowas wirklich im Forum fragen anstatt einfach mal in die Hilfe zu sehen?

Überwache einfach via OnPopup und OnClose ob das Menu offen ist.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#3

AW: Festestellen ob MainMenu in Benutzung

  Alt 28. Mär 2024, 14:01
Muss man die Frage wirklich genau lesen
Ja, muss man:

Nicht TPopupMenu sondern TMainMenu
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#4

AW: Festestellen ob MainMenu in Benutzung

  Alt 28. Mär 2024, 16:32
Ich habe es nicht ausprobiert, aber wäre das vielleicht ein Ansatz? WM_INITMENUPOPUP
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
701 Beiträge
 
Delphi 12 Athens
 
#5

AW: Festestellen ob MainMenu in Benutzung

  Alt 28. Mär 2024, 17:12
Muss man die Frage wirklich genau lesen
Ja, muss man:

Nicht TPopupMenu sondern TMainMenu
Siehe WM_ENTERMENULOOP und den Counterpart WM_EXITMENULOOP. Damit sollte sich tracken lassen, ob die Anwendung gerade ein Menu aktiv hat.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Festestellen ob MainMenu in Benutzung

  Alt 29. Mär 2024, 08:26
Wenn sich eines der Hauptmenü-Untermenüs öffnet, dann wird das OnClick-Event ausgelöst - auch wenn man nicht wirklich klickt. An der Stelle kannst du dann die Items im Menu noch anpassen.
The angels have the phone box.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#7

AW: Festestellen ob MainMenu in Benutzung

  Alt 2. Apr 2024, 12:28
Siehe WM_ENTERMENULOOP und den Counterpart WM_EXITMENULOOP. Damit sollte sich tracken lassen, ob die Anwendung gerade ein Menu aktiv hat.
Das war es, was ich suchte. WM_INITMENUPOPUP wird wirklich jedes mal aufgerufen, wenn ein Menupunkt erweitert wird, der Untermenus hat.
WM_ENTERMENULOOP und WM_EXITMENULOOP wird wirklich jeweils nur einmal aufgerufen. Und auch nur beim MainMenu und nicht bei den POPUP-Menus, welche auf der Form liegen.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
freejay

Registriert seit: 26. Mai 2004
Ort: Nürnberg
272 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Festestellen ob MainMenu in Benutzung

  Alt 3. Apr 2024, 16:36
Wie schon Gausi gesagt hat: Man updatet die Menüeinträge in den OnClick-Ereignissen der Hauptmenüpunkte. Dann ist man immer aktuell und es werden auch keine unnötige Aktionen durch einen ständig laufenden Timer ausgeführt.
[Delphi 11.3.1 Enterprise; Win10/11; MySQL; VCL]
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:12 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