hi
ich hab da ein problem mit nem editfeld:
auf meinem formular hab ich nen editfeld mit folgender onkeypress-prozedur:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key<>#8) and (length(edit1.text)>19) then key:=#0; end; |
ich möchte, dass der benutzer maximal 20 zeichen ins feld eingeben kann. wenn man nun 20 zeichen eingegeben hat, und diese alle markiert und überschreiben will, funktioniert das nicht, man muss erst auf die löschen-taste oder entfernen-taste drücken.
wie kann ich jetzt den markierten text durch drücken einer taste ersetzen?
kleines Beispiel: im editfeld steht folgendes: ABCDEFGHIJKLMNOPQRST
der user hat die buchstaben EFGH mit der maus markiert, und möchte diese durch Z ersetzen. dazu muss er aber erst die löschen oder entfernen-taste drücken, und dann Z. wie erreiche ich nun, dass wenn 20 zeichen im editfeld stehen, markierte zeichen sofort durch drücken eines anderen zeichens ersetzt werden?