TEdit kapselt ja nur das Windows-Edit, und das kann out of the box keinen Überschreibmodus. Ich hab das in einem Fall so gelöst:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
AEdit: TEdit;
begin
Assert(Sender is TEdit);
case Key of
' '..#126, #128..#255:
begin
AEdit := TEdit(Sender);
if OverwriteMode and (AEdit.SelLength = 0) then
AEdit.SelLength := 1;
if (AEdit.SelLength > 0) and (AEdit.SelText[1] = #13) then
AEdit.SelLength := 2;
end;
end;
end;
procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
if Msg.CharCode = VK_INSERT then
begin
OverwriteMode := not OverwriteMode;
Handled := True;
end;
end;
Die OnKeyPress-Routine stammt WIMRE von Peter Below. Das Zeug mit #13 dürfte wohl nur für Memos interessant sein.
HTH,
Uli.