![]() |
Rückgängigmachen von Textformatierungen im RE verhindern
Hallo liebe DP-Gemeinde,
wollte fragen, ob es möglich ist die Rückgängig-Funktionalität im Richedit für bestimmte Operationen zu deaktivieren. Ich möchte damit das Rückgängigmachen von Textformatierungen (Text rot machen, fett machen usw.) verhindern. Habe bereits ein bisschen recherchiert und diesen Artikel gefunden: ![]() Leider weiß ich absolut nicht wie ich das implementieren soll und ob die Richeditkomponente in Delphi überhaupt die ITextDocument-Schnittstelle nutzt... Falls jemand einen anderen Lösungsansatz kennt wäre ich darüber natürlich auch sehr dankbar. Danke im Voraus |
AW: Rückgängigmachen von Textformatierungen im RE verhindern
Hallo,
Die Undo Funktion deaktivieren kannst du wie folgt, ohne dabei ITextDocument implementieren zu müssen. Wie man die Undo-Funktion nur für bestimmte Operationen deaktivieren kann, weiß ich leider nicht.
Delphi-Quellcode:
uses
RichOLE, // von http://tinyurl.com/RichOLE-pas ComObj; procedure TForm1.Button1Click(Sender: TObject); const tomFalse = 0; //Prevents Undo and empties buffer. tomTrue = -1; //Restarts Undo again. tomSuspend = -9999995; //Suspends Undo. tomResume = -9999994; //Resumes Undo. var RichEditOle: IRichEditOle; DocDispatch: IDispatch; Doc: Variant; begin if RichEdit_GetOleInterface(RichEdit1.Handle, RichEditOle) then begin OleCheck(RichEditOle.QueryInterface(IDispatch, DocDispatch)); doc := DocDispatch; doc.Undo(tomSuspend); end; end; |
AW: Rückgängigmachen von Textformatierungen im RE verhindern
Was willst du genau machen?
Das ein Benutzer einen Text einfügen darf und wenn er diesen formatiert hat, dass dies nicht mehr rückgängig gemacht werden kann? Oder willst du einen Text einfügen, den der Benutzer nicht verändern darf? Für Letzters schau dir mal folgendes an...
Delphi-Quellcode:
RichEdit.SelAttributes.Protected:=true;
|
AW: Rückgängigmachen von Textformatierungen im RE verhindern
Vielen Dank, Leute!
Die Lösung von toms war genau das, was ich gesucht hatte. Dennoch danke an omata. Der Tipp ist praktisch.:) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz