Zitat:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Sender is TEdit then begin
case Key of #29:
begin
TEdit(Sender).SelText := '↔';
end;
end;
end;
end;
Du machst aus dem eingegebenen Zeichen ein Anderes.
Stell dir mal vor, am Ende springt die Standardbehandlung des Edits an und schreibt dennoch das originale Zeichen ins Edit.
Dabei dürde natürlich der Selected-Text wieder gelöscht/überschrieben.
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Sender is TEdit then begin
case Key of #29:
begin
TEdit(Sender).SelText := '↔';
Key := #0; // Standardverhalten aus
end;
end;
end;
end;
Teilweise kann es sein, dass man einige Eingaben bereits im OnKeyDown und/oder gar OnKeyUp abfangen (
Key := 0;
) muß, weil es hier im OnKeyPress bereits zu spät sein könnte.