Home » Tipps & Tricks » Komponenten » TRichEdit/TMemo/TEdit » Rückgängig/Wiederherstellen für Textfelder

Rückgängig/Wiederherstellen für Textfelder

Dieser Artikel zeigt, wie Sie ein Textfeld (TEdit, TMemo oder TRichEdit) mit einer einfachen Rückgängig und Wiederherstellen-Funktion austatten.Es muss dazu die EM_UNDO-Message an das Control gesendet werden:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Perform(EM_UNDO, 0, 0);
end;

Es kann nur eine Änderung rückgängig gemacht werden. Deshalb bewirkt ein zweites Senden der EM_UNDO-Botschaft eine Wiederherstellung des Urspungszustandes.Hinweis: Erst RichEdit 2.0 oder später unterstützt eine mehr-schrittige Rückgängifunktion von Haus aus. Allerdings greift selbst Delphi 7 noch auf eine ältere Version des RichEdits zurück.Weitere Informationen dazu finden Sie im PSDK unter dem Stichwort „EM_UNDO“.Prüfen Sie mithilfe der EM_CANUNDO-Botschaft, ob es möglich ist, eine Eingabe rückgängig zu machen:

procedure TForm1.miBearbeitenClick(Sender: TObject);
begin
  miUndo.Enabled:=Memo1.Perform(EM_CANUNDO, 0, 0)0;
end;