Hallo, Jürg, vielen Dank für deine Bemühungen.
Ich habe jetzt etliches ausprobiert, aber mir will das alles nicht logisch erscheinen. Wenn EditField.AcceptTabs = False ist und EditField hat den Fokus, dann soll TAB dazu führen, dass der Fokus auf das nächste Control in der Tab-Reihenfolge gesetzt wird. Mein EditField ist das letzte Control in der Reihe, das erste Control wäre das StyleGrid, das das Parent des EditFields ist.

Das EditField verliert auch den Fokus, aber in der Routine des KeyDown-Events, in der das EditField zunächst unvisible geschaltet wird, um es unsichtbar auf dem Grid zu verschieben, wird eine weitere Routine korrekt aufgerufen, in der das EditField wieder visible geschaltet wird und (sicherlich doppeltgemoppelt) EditField.SetFocus ausgeführt wird.
Mit den den anderen Tasten funktioniert das auch einwandfrei.
Bei der TAB-Taste verliert sich der Fokus aber irgendwo und ich kann nicht feststellen, wo er landet. Jedenfalls nicht mehr beim Editfield.

Ich denke, ich werde die TAB-Taste einfach nicht auswerten, die Return-Taste und die Pfeil-Tasten müssen einfach genügen.
besten Gruß, Christian Hahn.


----- Original Message ----- From: "Juerg Raess" <[email protected]>
To: <[email protected]>
Sent: Thursday, June 11, 2009 9:08 PM
Subject: Re: Tab-Taste im Editfield


im KeyDown-Event eines EditField

Das klappt auch alles gut, nur chr(9) funktioniert nicht richtig.
Kann es sein, dass die Tab-Taste innerhalb des Editfields wie ein
schreibbares Zeichen abgefangen wird?
Und, falls ja, wie kann ich das umgehen?


Hab's mal schnell unter OSX probiert.

Function KeyDown(Key As String) As Boolean
  if Asc(Key) = 9 then MsgBox("TAB")
End Function

Die MsgBox erscheint - scheint also kein Problem zu sein...?

Evtl. wird bei anderen Systemen das <tab> abgefangen?
Dann wäre es ein Versuch wert, das Property "AcceptTabs" im EditFeld
auf "true" zu setzen.

Jürg



Antwort per Email an