AGB  ·  Datenschutz  ·  Impressum  







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

RzShellTree Aktualisierung

Ein Thema von TurboMagic · begonnen am 3. Feb 2022 · letzter Beitrag vom 3. Feb 2022
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#1

RzShellTree Aktualisierung

  Alt 3. Feb 2022, 13:30
Hallo,

ich nutze in 10.4.2 ein TCardPanel und habe auf einer Karte eine
RzShellTree Komponente (Konopka Signature Controls), eine Dateiliste,
ein Edit und einen TButton mit nur einem Icon drauf.

Das RzShellTree was bisher so eingestellt, dass Options stoAutoFill an hatte,
damit der Inhalt automatisch gefüllt wird. Das war aber mit dem Button
problematisch. Da sah' man dann nicht gleich das Icon, sondern einen Text auf
dem, Button bis nach Füllen des RzShellTree der Button aktualisiert wurde.
Der Button hatte keine Caption.

Ich habe das jetzt so umgebaut, dass wenn man auf diese Karte blättert
(ein anderer Button) das stoAutoFill beim RzShellTree rausgenommen wird und
ein 15ms Timer gestartet wird. Nach Ablauf des Timers wird stoAutoFill wieder
hinzugefügt und RzShellTree.FillItems aufgerufen.

Der Button mit dem Icon wird jetzt sofort gezeichnet und der Inhalt des Baumes
angezeigt. Es gibt halt nur eine leichte Zeitverzögerung bis der Baum aufgebaut
ist.

Kann man da vielleicht noch was optimieren?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: RzShellTree Aktualisierung

  Alt 3. Feb 2022, 13:43
Statt des Timers kannst du den OnTimer-Code auch einem TThread.ForceQueue übergeben. Das legt es direkt in die Message-Queue und sorgt für eine minimale Verzögerung bei gleichzeitiger Entkopplung von dem aktuellen Eventhandler.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#3

AW: RzShellTree Aktualisierung

  Alt 3. Feb 2022, 15:31
Statt des Timers kannst du den OnTimer-Code auch einem TThread.ForceQueue übergeben. Das legt es direkt in die Message-Queue und sorgt für eine minimale Verzögerung bei gleichzeitiger Entkopplung von dem aktuellen Eventhandler.
Danke! Dann kann ich aber gleich ein PostMessage absetzen und einen Message Handler einbauen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: RzShellTree Aktualisierung

  Alt 3. Feb 2022, 17:26
Dann kann ich aber gleich ein PostMessage absetzen und einen Message Handler einbauen.
Na klar. Bei ForceQueue spart man sich halt die separate Deklaration des Handlers und einer Message-Konstanten und hat auch noch Aufruf und ausführenden Code an einer Stelle. Nebenbei kann man auch noch lokale Variablen mitgeben (auch wenn du die in deinem Fall jetzt vielleicht nicht brauchst).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 15:02 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