DruckenMister WongFacebook

Rückgängig/Wiederherstellen für Textfelder

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

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;