Autor Beitrag
hRb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 267
Erhaltene Danke: 12



BeitragVerfasst: Mo 27.03.17 21:21 
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:
Zitat:
msdn.microsoft.com/en-us/library/ windows/desktop/bb774218(v=vs.85).aspx (ohne Blank vor Windows)

Bei folgender Befehlsfolge kommt die Compiler-Meldung, dass CanRedo und Redo nicht bekannt sind:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
uses Vcl.StdCtrls
procedure TForm1.ReduClick(Sender: TObject);
begin
  if  SendMessage(Richedit1.Handle, EM_CANREDO, 00) <> 0 
   then SendMessage(Richedit1.Handle, EM_REDO, 00);
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)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.mmiUndoClick(Sender: TObject);
begin
  if FComponent is TCustomEdit then
    TCustomEdit(FComponent).Undo // lässt sich übersetzen und funktioniert
end;

Wird Undo jedoch durch Redo ersetzt, so lässt sich auch dieser Code nicht compilieren. Woran könnte dies liegen?
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 27.03.17 21:59 
- Nachträglich durch die Entwickler-Ecke gelöscht -
hRb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 267
Erhaltene Danke: 12



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 29.03.17 09:44 
Es sollte reichen die Unit Winapi.RichEdit in uses zu schreiben.