Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Tab Position


Mister Riös - So 12.12.10 17:02
Titel: Tab Position
Hi, suche eine Möglichkeit die "Tab Position" manuell fest zu legen. Mit Tab Position meine ich, welches Objekt (z.B. ein Button) gerade "ausgewählt" ist. Das kann der User ja per Tabulator oder Pfeiltasten selbst umschalten, immer der TabOrder nach. Mein Problem ist, das diese Auswahl für den User nicht mehr möglich ist, wenn der Button disabled wird.
Hoffe man kann verstehen was ich meine, weiß nicht genau wie ich es ausdrücken soll. Lg.


Martok - So 12.12.10 17:20

Hallo,

per Code setzt man den Focus (oh Wunder) per .SetFocus, aber das macht auch recht wenig Sinn, wenn der Button disabled ist :gruebel:

Kannst du nochmal genauer ausführen, was das bringen soll?

Grüße,
Martok


jaenicke - So 12.12.10 17:35

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
aber das macht auch recht wenig Sinn, wenn der Button disabled ist :gruebel:
Richtig, und funktioniert auch nicht. Wie auch?

Der Fokus ist die Bestimmung welches Control die Eingaben des Benutzers erhält. Ein Control wird disabled, damit es keine Benutzereingaben mehr erhalten kann.

Dementsprechend ist es ein Widerspruch in sich einem deaktivierten Control den Eingabefokus geben zu wollen. :nixweiss:


Mister Riös - So 12.12.10 18:00

Jo klar, hab das nur dumm ausgedrückt. Ich will einfach nur den Fokus (danke für das Wort :wink: ) auf einen Button setzen der immer sichtbar und enabled ist, weil wenn ein Button disabled wird während der Fokus drauf ist, dann verschwindet der Fokus.
Hab ich jetzt probiert mit setFocus auf einen Button der halt immer sichtbar und enabled ist, krieg aber trotzdem die Fehlermeldung "Ein deaktiviertes oder unsichbares Fenster kann nicht den Fokus erhalten".
Woran kann das jetzt liegen?


bummi - So 12.12.10 18:59

ich vermute Du suchst sowas:

Delphi-Quelltext
1:
SendMessage(handle,WM_NEXTDLGCTL,0,0)                    


Mister Riös - So 12.12.10 19:07

Keine Ahnung wie das funktioniert, Delphi-Hilfe hilft mir auch nicht, geht das nicht auch einfacher?


jaenicke - So 12.12.10 19:36

user profile iconMister Riös hat folgendes geschrieben Zum zitierten Posting springen:
Hab ich jetzt probiert mit setFocus auf einen Button der halt immer sichtbar und enabled ist, krieg aber trotzdem die Fehlermeldung "Ein deaktiviertes oder unsichbares Fenster kann nicht den Fokus erhalten".
Dann ist das Control, bei dem du SetFocus nicht enabled. :nixweiss:
Sonst könntest du auch ein kleines Testprojekt anhängen oder so.

user profile iconMister Riös hat folgendes geschrieben Zum zitierten Posting springen:
Keine Ahnung wie das funktioniert,
Das bewirkt im Grunde das selbe wie die Tab Taste. Es wird das nächste Element angesprungen.

// EDIT:
Oops, verlesen.