AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi MenuItem neu zeichnen ohne ganzes Menü neu zu zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

MenuItem neu zeichnen ohne ganzes Menü neu zu zeichnen

Ein Thema von StephanR · begonnen am 1. Mai 2018 · letzter Beitrag vom 2. Mai 2018
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: MenuItem neu zeichnen ohne ganzes Menü neu zu zeichnen

  Alt 2. Mai 2018, 08:25
Hallo,
hilft vielleicht EnableMenuItem (oder MnuItem.Enabled)?
Das einmal auf False und dann wieder auf True zurück.
Das müsste ja eigentlich das Neuzeichnen aufrufen.

Das Popupmenu wird zumindestens schon mal nicht neu aufgebaut.
Heiko

Geändert von hoika ( 2. Mai 2018 um 08:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: MenuItem neu zeichnen ohne ganzes Menü neu zu zeichnen

  Alt 2. Mai 2018, 08:44
Nur mal aus Neugier:
Warum Items neu zeichnen?

Was hat sich den geändert, was nicht in der MS vor dem öffnen nicht schon bekannt war?
  Mit Zitat antworten Zitat
StephanR

Registriert seit: 1. Mai 2018
6 Beiträge
 
#3

AW: MenuItem neu zeichnen ohne ganzes Menü neu zu zeichnen

  Alt 2. Mai 2018, 09:06
Hallo,
hilft vielleicht EnableMenuItem (oder MnuItem.Enabled)?
Das einmal auf False und dann wieder auf True zurück.
Das müsste ja eigentlich das Neuzeichnen aufrufen.

Das Popupmenu wird zumindestens schon mal nicht neu aufgebaut.
Hallo hoika,

leider löst das Ändern von Enabled wieder MenuChanged aus und das schließt und öffnet das PopUp zur Aktualisierung.
Genau das möchte ich umgehen...

VG
Stephan
  Mit Zitat antworten Zitat
StephanR

Registriert seit: 1. Mai 2018
6 Beiträge
 
#4

AW: MenuItem neu zeichnen ohne ganzes Menü neu zu zeichnen

  Alt 2. Mai 2018, 09:14
Zur Erläuterung, warum ich denn einzelne Menuitems aktualisieren möchte/muss.

Bei meinem Projekt handelt es sich um eine Software für Sportwettbewerbe, die auf mehreren Clients im Netzwerk parallel betrieben wird. Die Daten liegen dabei zentral auf einem Fileserver.
Das Menü, welches zum Öffnen der einzelnen Wettbewerbe verwendet wird, soll neben dem Namen des einzelnen Wettbewerbs zu jedem Wettbewerb den aktuellen Status anzeigen (x Starter gemeldet, Wettbewerb in der x. Runde mit y Startern,...). Das Sammeln dieser Daten ist jedoch im Netzwerkbetrieb so langsam, dass der Nutzer ziemlich lange auf das Öffnen des Menüs warten müsste (sollte ich diese Daten erst Sammeln und dann das Menü anzeigen).
Deshalb habe ich das Zusammenstellen dieser Daten in einen parallelen Thread ausgelagert, der noch läuft während das Menü bereits geöffnet ist. Das Menü ist somit zunächst nur mit den Namen der Wettbewerbe bestückt und wenn dann die Statusdaten bereitstehen sollen diese mit angezeigt werden.
Aktuell geschieht diese Aktualisierung/das Neuzeichnen des MenuItems durch die Bewegung der Maus über die einzelnen Menüpunkte (Hover-Ereignis).
Dies ist aber nicht sonderlich intuitiv... Deshalb möchte ich gerne das Neuzeichnen der MenuItems anstoßen, sobald die jeweilige Info verfügbar wurde.

VG
Stephan
  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 17:34 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