Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tabulatorreihenfolge zur Laufzeit ändern (https://www.delphipraxis.net/92497-tabulatorreihenfolge-zur-laufzeit-aendern.html)

AndiS75 21. Mai 2007 11:12


Tabulatorreihenfolge zur Laufzeit ändern
 
Hallo zusammen,

möchte gerne die Tabulatorreihenfolge zur Laufzeit ändern. Wie kann ich das machen, ohne jedesmal sämtlichen Komponenten einzeln anzusprechen? Sprich über eine Schleife.

Danke

Robert Marquardt 21. Mai 2007 11:19

Re: Tabulatorreihenfolge zur Laufzeit ändern
 
Es sollte funktionieren das du TabOrder auf den gewuenschten Wert setzt, sprich auf +1 zu der Komponente hinter der eingeordnet werden soll. Soweit ich weiss regeln die Komponenten dann ihre TabOrder-Werte untereinander.

AndiS75 21. Mai 2007 12:43

Re: Tabulatorreihenfolge zur Laufzeit ändern
 
Danke erstmal für die Antwort.

Wenn ich z. B 8 Editfelder hab, will ich das der Tab bei 4 anfängt dann zu 6 springt, dann zu 1 und dann zu 8. Ist jetzt nur ein Beispiel.

Will das ganze analog zu Delphi programmieren. Sprich, dass ich zur Laufzeit eine Listbox hab, in der sämtliche Komponente angezeigt werden und der User dann wie in Delphi, dynamisch die TabOrder selbst festlegen kann.

Hab mir überlegt das Ganze über eine Datenbank zu steuern oder eine INI Datei.

mfg


Andreas

shmia 21. Mai 2007 14:26

Re: Tabulatorreihenfolge zur Laufzeit ändern
 
Zitat:

Zitat von AndiS75
Will das ganze analog zu Delphi programmieren. Sprich, dass ich zur Laufzeit eine Listbox hab, in der sämtliche Komponente angezeigt werden und der User dann wie in Delphi, dynamisch die TabOrder selbst festlegen kann.

Du müsstest aber einen Treeview (statt Listbox) verwenden, da Controls ja hierarchisch geschachtelt sind.
(Auf Panels, Groupboxen, TabSheets,... können ja weitere Controls liegen)

AndiS75 21. Mai 2007 14:32

Re: Tabulatorreihenfolge zur Laufzeit ändern
 
Hallo,

ich versuche es mal so. Danke

Robert Marquardt 21. Mai 2007 15:14

Re: Tabulatorreihenfolge zur Laufzeit ändern
 
Ich glaube das ist nicht der richtige Ansatz. Das Problem liegt darin das die Tab-Reihenfolge verschachtelt ist.
In einem Baum kann man nun eine Control aus seiner Ebene heraus verschieben. Das darf aber nicht sein, da die Tab-Reihenfolge nur lokal auf einer Ebene des Baums gilt. Man muss sich nur mal den zugehoerigen Editor der IDE anschauen, der wohlweislich immer nur eine Ebene zeigt.

Es geht natuerlich zu implementieren, aber dann darf man ein Element nicht aus seiner Ebene herausbefoerdern koennen und bewegt man ein Element mit Unterelementen, so muss der ganze Teilbaum bewegt werden.


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