- Default-String in einer Variablen im Private-Abschnitt als Konstante festlegen: EditText_Nachname = 'hier Nachname eingeben';
- Beim Programmstart Default-String zuweisen: Edit_Nachname.Text := EditText_Nachname;
- In der Ereignisbehandlung OnEnter prüfen, ob der Text in Edit_Nachname dem Default-String entspricht.
- Wenn ja, dann Edit_Nachname.Clear; ausführen, ansonsten den Text belassen.
- In der Ereignisbehandlung OnExit prüfen, ob Edit_Nachname.Text leer ist.
- Wenn ja, dann Default-String zuweisen: Edit_Nachname.Text := EditText_Nachname;
So würde zumindest ich das machen. Soll der Default-String erst verschwinden, wenn der Anwender Text eingibt, dann eben in
OnKeyPress die Prüfung in Punkt 3 durchführen. OnKeyPress wird ausgelöst, bevor das gedrückte Zeichen ins Editfeld geschrieben wird. Daher kannst du in OnKeyPress prüfen, ob der String im Editfeld dem Defaultstring entspricht und diesen dann löschen, bevor das Zeichen geschrieben wird.