Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Virtual treeview und funktionstasten (https://www.delphipraxis.net/81067-virtual-treeview-und-funktionstasten.html)

hanspeter 20. Nov 2006 13:19


Virtual treeview und funktionstasten
 
Hallo,

ich verwende die VirtualTrees.
In einem Baum kann ich ja Knoten auswählen, indem ich die Umschalttaste Großbuchstaben gedrückt halte und dann die Cursortaste (z.B. nach unten) betätige.
Jetzt wird jeweils der nächste Knoten markiert.
Hier scheint es jedoch ein Timingproblem zu geben.
Lasse ich beide Tasten gedrückt, dann werden nachfolgende Knoten markiert.
Der eine oder andere Knoten jedoch willkürlich ausgelassen.
Hat wer einen Tip, an welcher Schraube ich hier drehen kann?

Gruß Peter

Hawkeye219 20. Nov 2006 20:40

Re: Virtual treeview und funktionstasten
 
Hallo Peter,

vielleicht hast du die Eigenschaft .TreeOptions.SelectionOptions verstellt. Folgende Optionen sind für deinen Anwendungsfall interessant:
  • toMultiSelect - muß auf True stehen, damit überhaupt mehrere Einträge ausgewählt werden können
  • toLevelSelectConstraint - True bedeutet, daß nur Markierungen innerhalb einer Ebene in mehreren Teilbäumen zugelassen sind
  • toSiblingSelectConstraint - True bedeutet, daß nur Markierungen innerhalb einer Ebene innerhalb eines Teilbaums zugelassen sind
Oder löschst du die Markierungen versehentlich mit deinem eigenen Code? Dies könnte zum Beispiel in einer Behandlungsroutine für ein Ereignis passieren, das beim Markieren ausgelöst wird (OnChange, OnFocusChanged,...).

Gruß Hawkeye

hanspeter 21. Nov 2006 06:51

Re: Virtual treeview und funktionstasten
 
Zitat:

Zitat von Hawkeye219
Hallo Peter,

vielleicht hast du die Eigenschaft .TreeOptions.SelectionOptions verstellt. Folgende Optionen sind für deinen Anwendungsfall interessant:Gruß Hawkeye

Hallo,
die Schalter stehen richtig. Es funktioniert ja auch.
Nur werden einige Knoten nicht markiert.
(Innerhalb einer Ebene Umschalttaste und Cursaor unten gedrückt lassen.)
Ich meine das ist ein Timingproblem.

Gruß

Peter

hanspeter 22. Nov 2006 06:53

Re: Virtual treeview und funktionstasten
 
Das Problem ist inzwischen gelöst.
Es handelt sich tatsächlich um ein Timingproblem.
Ursache war die Behandlungsroutine für Focuschange.
Es gab zwei Möglichkeiten den Effekt zu beseitigen.
1. Wiederholrate der Tastatur heruntersetzen.
Das erfolgte nur für Testzwecke um die Ursache einzugrenzen.

2. Die Behandlungsroutine wurde in einen eigenen Thread ausgelagert und über eine
Timersteuerung zusammengefasst.

Gruß
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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