Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RichEdit Text Rückgängig und Widerherstellen (https://www.delphipraxis.net/8118-richedit-text-rueckgaengig-und-widerherstellen.html)

Tau 29. Aug 2003 06:40


RichEdit Text Rückgängig und Widerherstellen
 
Hallo Leute

habe noch ein kleines Problem mit dem Rückgängig und Wiederherstellen
vom Text im RichEdit

zur zeit verwende ich den folgenden Code

Delphi-Quellcode:
// Text Rückgängig
procedure TForm1.TB07Click(Sender: TObject);
begin                                                                  
   with cxRichMemo1 do
      if HandleAllocated then SendMessage(cxRichMemo1.InnerMemo.Handle, EM_UNDO, 0, 0)
end;

// Text Wiederherstellen
procedure TForm1.TB08Click(Sender: TObject);
begin                                                                  
   with cxRichMemo1 do
      if HandleAllocated then SendMessage(cxRichMemo1.InnerMemo.Handle, EM_REDO, 0, 0)
end;
bin aber mit dem Ergebnis leider nicht ganz zufrieden.
Beim der Funktion rückgängig wird leider nur ein schritt gemacht.

Gibt es eine Möglichkeit das man mehrere Schritte zurück gehen kann ?

Wenn ja wie währe ich für einen Tipp sehr dankbar.

Mit Grüssen
Tau

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

CalganX 29. Aug 2003 06:47

Re: RichEdit Text Rückgängig und Widerherstellen
 
Hi,
prüf mal mit
Delphi-Quellcode:
sendmessage(RichEdit1.Handle, WM_CANREDO, 0, 0) <> 0 // Redo möglich
ob du überhaupt wieder etwas herstellen kannst!

Chris

Tau 29. Aug 2003 07:38

Re: RichEdit Text Rückgängig und Widerherstellen
 
Hallo Chris

mit der Anweisung läst sich garnichts wiederherstellen.

Code:
SendMessage(cxRichMemo1.Handle, EM_CANREDO, 0, 0) <> 0
mit <> 0 am schluss gibt es eine Fehlermeldung.

Mit Grüssen
Tau

CalganX 29. Aug 2003 07:56

Re: RichEdit Text Rückgängig und Widerherstellen
 
Nein. Ich meinte damit fragst du ab, ob du was wiederherstellen kannst.
Dein Source müsste dann also insgesamt so aussehen:
Delphi-Quellcode:
// Text Rückgängig
procedure TForm1.TB07Click(Sender: TObject);
begin                                                                  
  if SendMessage(cxRichMemo1.Handle, EM_CANUNDO, 0, 0) <> 0 then
    SendMessage(cxRichMemo1.InnerMemo.Handle, EM_UNDO, 0, 0)
  else ShowMessage('Hier ist nichts mehr; EM_UNDO'); // zur Kontrolle!
end;

// Text Wiederherstellen
procedure TForm1.TB08Click(Sender: TObject);
begin                                                                    if SendMessage(cxRichMemo1.Handle, EM_CANREDO, 0, 0) <> 0 then
    SendMessage(cxRichMemo1.InnerMemo.Handle, EM_REDO, 0, 0)
  else ShowMessage('Hier ist nichts mehr; EM_REDO'); // zur Kontrolle!
end;
Chris

Tau 29. Aug 2003 08:21

Re: RichEdit Text Rückgängig und Widerherstellen
 
Hallo Chris :D

habe es ausprobiert mit dem Selben Ergebnis immer
ein Schritt Vor und einer Zurück mehr ist leider nicht drin.

Mit Grüssen
Tau

CalganX 29. Aug 2003 08:23

Re: RichEdit Text Rückgängig und Widerherstellen
 
Hi,
(nur zur Sicherheit!)
du hast aber mehrmals geschrieben und versucht, oder?!

RichEdit hat eine eigene Funktion "Undo" (allerdings kein Redo). AFAIK kann die mehrmals. Aber genau weiß ich es leider auch nicht.

Chris

Tom 29. Aug 2003 08:39

Re: RichEdit Text Rückgängig und Widerherstellen
 
Zitat:

Zitat von Chakotay1308
RichEdit hat eine eigene Funktion "Undo" (allerdings kein Redo). AFAIK kann die mehrmals.

Kann die Funktion. Ein Schritt ist jeweils zurück bis zur letzten manuellen Positionierung (Up, Down, ..., Maus) des Cursors.

Tau 29. Aug 2003 08:45

Re: RichEdit Text Rückgängig und Widerherstellen
 
Hallo Chris

Habe mehr mals geschrieben und gelöscht. 8)

Die funktion "UNDO" bezieht sich auf den Ganzen Text im RichEdit

Mit Grüssen
Tau

CalganX 29. Aug 2003 08:51

Re: RichEdit Text Rückgängig und Widerherstellen
 
Hi,
was bitte ist InnerMemo? :gruebel: :shock:
Und was ist das dann für ein RichEdit? Ich bin ein wenig verwirrt. :(

Sonst guck mal, ob dieses InnerMemo vielleicht auch eine Undo-Methode hat!

Chris

PS: Das war mir vorhin gar nicht aufgefallen, sorry.

fkerber 29. Aug 2003 09:05

Re: RichEdit Text Rückgängig und Wiederherstellen
 
Hi!

Ich hatte auch dieses Problem bei einem Richedit und habe es auf folgende Weise gelöst:

Mit einer Art Komponente von torry, die mehrfaches Undo / Redo anbietet, aber trotzdem mit dem "normalen" Richedit funktioniert!

Ist etwas schwer zu erklären und erfordert auch etwas Einarbeitung, aber wenns mal geht ist echt gut!

Weiß leider den genauen Namen nicht mehr. Es muss irgendwie was mit
"rak*" sein. Musst du mal bei Torry gucken :o

Könnte dir eventuell das Package auch schicken. Kannst dich ja mal in Icq melden!

Ciao fkerber


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz