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;
- Laden und Speichern von Texten aus Memofeldern in Dateien
- Eingabelänge eines TEdit beschränken
- In einem Memo-Feld navigieren
- Blinkenden Cursor verstecken
- Inhalt eines Edit-Feldes speichern
- Textlänge in TRichEdit erhöhen
- Ränder von mehrzeiligen Textfeldern setzen/lesen
- Sichtbare Zeilen in TMemo ermitteln
- Aktuelle Zeile/Spalte in Memofeldern bestimmen
- Eigenen Caret in TMemo