// Hiermit kann man
ein Undo in Textboxen (TEdit bis TRichEdit) // Undo-Möglichkeit anzeigen
function UndoAnzeige(tce: TCustomEdit): string;
var
s, n: string;
begin
if tce.Perform(EM_CANUNDO, 0, 0) = 0
then s := 'nicht ' else s := '';
n := tce.Name;
if n <> '' then n := 'bei ' + n + #32;
Result := 'Undo ' + n + s + 'möglich.';
end;
// Undo durchführen
procedure DoUndo(tce: TCustomEdit);
begin
tce.Perform(EM_UNDO, 0, 0);
tce.Selstart := tce.Selstart + length(tce.SelText);
tce.Setfocus;
end;
// Undo sperren (bis zur nächsten Eingabe)
procedure UndoStop(tce: TCustomEdit);
begin
tce.Perform(EM_EMPTYUNDOBUFFER, 0, 0);
tce.Setfocus;
end;
// --- Beispielaufruf für ein Memo ---
procedure TForm1.Memo1Change(Sender: TObject);
begin
Label1.caption := UndoAnzeige(Memo1);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
DoUndo(Memo1);
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
UndoStop(Memo1);
Label1.caption := UndoAnzeige(Memo1);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.caption := UndoAnzeige(Memo1);
end;
|
Zugriffe seit 6.9.2001 auf Delphi-Ecke





