![]() |
TTabOrder
Hallo zusammen,
folgendes Problem: Meine Anwendung wird durch unterschiedliche Panels aufgeteilt, es existiert kein Formular im Hintergrund sondern diese Panels werden zur Laufzeit auf einem sogenannten "Grundpanel" erzeugt da die Anwendung aus verschiedenen Modulen besteht und diese ausgewählt werden können. Der Benutzer soll nun durch drücken der TAB Taste zu den entsprechend gültigen Editfelder springen die sich jedoch immer auf den verschiedenen Panels befinden. Wie kann ich die Reihenfolge der Tabulatorliste entsprechend verändern :wall: ? Vielen Dank bereits jetzt Gruß Michael |
Re: TTabOrder
Die Eigenschaft TabOrder gibt die Position in der Liste an, allerdings werden erst alle Controls auf dem einen Panel abgehandelt, und dann wird das nächste Panel angesteuert, Beispiel:
2 Panels mit je 2 Edits --> Reihenfolge: Panel1.Edit1 Panel1.Edit2 Panel2.Edit1 Panel2.Edit2 Um jetzt von Panel1.Edit1 nach Panel2.Edit2 zu springen, müsstest du Panel1.Edit1.TabOrder auf Panel1.ControlCount und Panel1.Edit2.TabOrder auf 0 setzen, was ja ne ziemlich wirre Sache wäre. Du kannst aber auch durch setzen der Eigenschaft TabStop die Ansteuerung von Controls verhindern. In diesem Beispiel müsstest du dann Panel1.Edit2.TabStop und Panel2.Edit1.TabStop auf False setzen, so dass von Panel1.Edit1 direkt zu Panel2.Edit2 gesprungen wird. |
Re: TTabOrder
Vielen Dank für die schnelle Antwort. Um die entsprechenden Controls zu deaktivieren muß ich aber feststellen ob in dem letzten Feld die TAB gedrückt wurde, dieses Event bekomme ich jedoch leider nur in Key_up zurück und dann ist es schon zu spät. Hast Du eine weitere oder andere Lösung?
Danke Michael |
Re: TTabOrder
Zitat:
|
Re: TTabOrder
Danke nochmals für die Hilfestellung, ich habe das Problem anders lösen können:
Ich frage das onExit Event des letzten Feldes ab und setze in diesem Event den Focus auf das nächst gültige Element. Ist zwar nicht unbedingt die sauberste Lösung aber es funzt. Gruß Michael :cheers: |
Re: TTabOrder
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:19 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