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;