Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   SetFocus nach TabOrder (https://www.delphipraxis.net/210923-setfocus-nach-taborder.html)

JRichmann 30. Jun 2022 07:44

SetFocus nach TabOrder
 
SetFocus nach TabOrder

Hallo… hat jemand eine coole einfache Idee?

Ich möchte einen Hotkey einbauen, der folgendes macht:
Das nach TabOrder erste Element soll den Focus erhalten.
Ich könnte alle Elemente durchlaufen und dann den Focus auf TabOrder=0 setzen.
Aber durch diverse Gruppierungen kann TabOrder=0 ja mehrfach vorkommen.
Ich müsste also irgendwie auch die Parend TabOrder betrachten.

Geht das irgendwie einfacher? Gibt es einen Trick?

Uwe Raabe 30. Jun 2022 08:26

AW: SetFocus nach TabOrder
 
In einer Methode des Forms kannst du über
Delphi-Quellcode:
FindNextControl(nil, True, False, False)
das erste Control in der gesamten Tab-Reihenfolge ermitteln. Der dritte Parameter gibt an, ob das Control
Delphi-Quellcode:
TabStop = True
haben muss oder nicht (wie im Beispiel).

HolgerX 30. Jun 2022 09:00

AW: SetFocus nach TabOrder
 
Hmm..

Zitat:

Zitat von JRichmann (Beitrag 1508154)
SetFocus nach TabOrder

Hallo… hat jemand eine coole einfache Idee?

Ich möchte einen Hotkey einbauen, der folgendes macht:
Das nach TabOrder erste Element soll den Focus erhalten.
Ich könnte alle Elemente durchlaufen und dann den Focus auf TabOrder=0 setzen.
Aber durch diverse Gruppierungen kann TabOrder=0 ja mehrfach vorkommen.
Ich müsste also irgendwie auch die Parend TabOrder betrachten.

Das erste Control in der Taborder ist doch das erste auf dem Form..
Wenn dies ein Container (TPanel) ist, dann wird in diesem das Control mit TabOrder 0 gesetzt..

Somit müsste

Delphi-Quellcode:
Form1.SelectNext(Form1, True, True);

(Form1 = self = deine Form)
(Nicht getstet.. ;) )

Doch genau dass machen, was Du willst...
Es wird auf der Form das erste mit TabOder 0 aktiviert, bzw. dessen erstes Control mit TabOrder 0..


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