Przeskakiwanie z jednego pola Edit do drugiego

0

Jak po wpisaniu tekstu do pola TEdit1 automatycznie przechodziło do wpisywania tekstu do pola TEdit2.
Mam ustawione że w obydwóch max 1 znak. I chodzi mi oto żeby po wpisaniu tego jednego znaku przechodziło do pola nr 2.
Czy ktoś wie jak to ustawić ?

1

Wygeneruj sobie zdarzenie OnChange i sprawdź w nim, czy długość tekstu w kontrolce wynosi 1. Jeśli tak, to wywołaj metodę SelectNext z kontrolki rodzica – zobacz do dokumentacji jak się jej używa.

Tylko bierz pod uwagę to, że jeśli obie kontrolki będą już posiadać odpowiednio długi tekst to focus będzie przenoszony w kółko, co może zapętlić program i go zamrozić na amen. Dlatego przenoszenia focusa nie robi się w ten sposób – z reguły przenosi się go po wciśnięciu konkretnego klawisza, np. Enter. Zresztą klawisz Tab do tego służy, więc nie potrzeba programowania innych.

0

Dokładnie jak @furious programming pisze. Ja u siebie robiłem coś takiego, jednak dla większej liczby jednoznakowych editów. Po dojściu do ostatniego po prostu focus nie zmieniał się na pierwszy.

Co do zmiany klawisza na Enter to w starszych systemach (i to tych mocno starych) przejście do następnej kontrolki odbywało się właśnie za pomocą klawisza Enter. Dlatego niektóre programy dalej (ze względu na przyzwyczajenie użytkowników) utrzymują takie zachowanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0