Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Richedit Redo
hRb - Mo 27.03.17 21:21
Titel: Richedit Redo
Ich habe die Frage nach Undo/Redo 2015 im Zusammenhang mit Richedit-Class1 (Delphi 7) schon einmal gestellt. Nun erneuere ich die Frage für
Class2 oder Class3. Derzeit arbeite ich mit Delphi XE3 oder höher. Dort funktioniert mehrfaches Undo auf Anhieb. Die vergleichbare Redo-Funktion lässt sich jedoch überhaupt nicht compilieren, obwohl sie in der Microsoft-Dokumentation beschrieben ist, siehe:
Bei folgender Befehlsfolge kommt die Compiler-Meldung, dass CanRedo und Redo nicht bekannt sind:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| uses Vcl.StdCtrls procedure TForm1.ReduClick(Sender: TObject); begin if SendMessage(Richedit1.Handle, EM_CANREDO, 0, 0) <> 0 then SendMessage(Richedit1.Handle, EM_REDO, 0, 0); end; |
Tatsächlich nutze ich eine Routine, die in diesem Forum Frühlingsrolle an anderer Stelle für Undo veröffentlich hat. (für mehrere Richedit in der Form)
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.mmiUndoClick(Sender: TObject); begin if FComponent is TCustomEdit then TCustomEdit(FComponent).Undo end; |
Wird Undo jedoch durch Redo ersetzt, so lässt sich auch dieser Code nicht compilieren. Woran könnte dies liegen?
Delete - Mo 27.03.17 21:59
- Nachträglich durch die Entwickler-Ecke gelöscht -
hRb - Di 28.03.17 16:33
Vielen Dank, wusste nicht, dass dies Constanten sind. Funktioniert nun allerbestens und bin happy. Kenne zwar nicht die Anzahl der Schritte (habe im Test bei 5 aufgehört), aber für mich reicht dies allemal. :D
Bist schon ein tolles Delphi- :twisted: im guten Sinne!
jaenicke - Mi 29.03.17 09:44
Es sollte reichen die Unit Winapi.RichEdit in uses zu schreiben.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!