Der Titel ist schlecht gewählt, lässt sich nur ausführlich erklären:
Mein Ziel:
3 TEdit Felder, becshriftet mit Edit1: Altes Passwort Edit2: Neues Passwort, Edit3: Neues Passwort wiederholen.
soweit kein Problem.
Wenn jetzt ein Edit zum schreiben ausgewählt wird, dann soll der Standardtext verschwinden und passwordchar auf * gesetzt werden.
Soweit auch kein Problem.
Wenn das Feld beschriftet wird, wird der text nicht resettet und der PasswordCHar bleibt leer. Wenn das Feld aber leer gelassen wird und abgewählt wird, solls resettet werden - PasswordChar aus, text auf Standard zurücksetzten.
So weit, so gut.
Die Funktionen die das bewirken, stehen im OnClick- und im OnMouseOver-Ereignis, und sehen etwa so aus:
Delphi-Quellcode:
procedure TForm3.Edit1Select(Sender: TObject);
begin
if Edit1.text = 'Altes Passwort' then
begin Edit1.Text:= ''; Edit1.PasswordChar:= '*'; end;
if ((Edit2.Text = '') or (Edit2.Text = 'Neues Passwort'))
then begin Edit2.Text:= 'Neues Passwort'; Edit2.PasswordChar:= #0; end
else begin Edit2.PasswordChar:= '*'; end;
if ((Edit3.Text = '') or (Edit3.Text = 'Neues Passwort wiederholen'))
then begin Edit3.Text:= 'Neues Passwort wiederholen'; Edit3.PasswordChar:= #0; end
else begin Edit3.PasswordChar:= '*'; end;
end;
Jetzt kommt das Problem:
Wenn ich in Edit1 bin, und die TAB-Taste benutze, um ins nächste Edit zu springen, passiert - logischerweise - nichts, und das Passwort ist einfach sichtbar, was natürlich nicht sein darf.
Hat jemand eine Idee, wie ich den Sprung mit der TAB-Taste mit einbauen kann?