Entwickler-Ecke

Sonstiges (Delphi) - Felder der Taborder Reihenfolge nach "anspringen"


madmat - Do 25.07.02 22:43
Titel: Felder der Taborder Reihenfolge nach "anspringen"
Hi @all,

in einem Proggi mit mehreren DBEdit Feldern sollen diese mit der ENTER Taste (#13) ihrer Taborder nach aktiviert werden (mit Cursor).
Jetzt hab ich ne IF Schleife dafür geschrieben, funzt auch bestens, aber hier meine Frage:
Muss ich jetzt jedes einzelne Feld mit Namen ansprechen (z.B. Form1.dbedit1.focused etc...) oder gibt einen Befehl um den nächsten Tabstop aufzurufen ? NextTab oder so ?

Vielen Dank im Voraus...


wwerner - Fr 26.07.02 07:09

Schau dir mal SelectNext an. Das müste es sein. Ich habe aber auch noch nicht damit gearbeitet


Alfons-G - Fr 26.07.02 13:04

Aus der Delphi-Hilfe:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Die Methode SelectNext übergibt den Eingabefokus vom aktuellen untergeordneten Steuerelement an das nächste Element in der Tabulatorreihenfolge.

procedure SelectNext(CurControl: TWinControl; GoForward, CheckTabStop: Boolean);

Beschreibung

Mit SelectNext können Sie die nächste untergeordnete Komponente in der Tabulatorreihenfolge des Steuerelements auswählen. Im Parameter CurControl wird die Komponente übergeben, mit der die Suche beginnt. Der Parameter GoForward steuert die Richtung der Suchoperation. Hat GoForward den Wert True, werden die Komponenten vorwärts durchlaufen, andernfalls rückwärts.

Der Parameter CheckTabStop bestimmt, ob sich die Komponente in der Tabulatorreihenfolge befinden muß. Hat CheckTabStop den Wert True, muß die Eigenschaft TabStop der zurückgegebenen Komponente auf True gesetzt sein. Ist das nicht der Fall, wird die Suche beim nächsten Steuerelement fortgesetzt.

Wenn SelectNext kein entsprechendes Steuerelement findet, erhält CurControl den Eingabefokus zurück.


Es geht also ganz einfach...

:idea:


madmat - Fr 26.07.02 15:59

Stimmt, danke...ich war irgendwie auf NextTab fixiert, aber das stammt wohl noch aus Amiga E Zeiten....