RichEdit (RTF) - Steuerelement !
-
Hi;),
ich schreibe mit SetWindowText() auf ein RTF View, wenn ich das wiederhole wird die RTF-Box gelöscht und es steht nur der letzte Text im RTF !
Das Prom. hatte ich auch bei nomalen Views, konnte es dort aber lösen onPaint()... . Bei einer RTF bin ich aber ziemlich hilflos, weiss jemand wie das dort zu machen ist.P.S.: Vllt. kennt ihr ein Tutorial oder so wo dad Rich Edit näher beschr. wird,
vllt. so ein geniales Tut wie Henkesoft, leider gibts da nicht viel zur RTF.Danke für eure Hilfe und Mühe

ShadowEater
-
Du willst also Text anhängen?
Schau Dir bitte EM_SETSEL (SetSel) ud EM_ReplaceSel (ReplaceSel).
Also mit SetSel an das Ende des textes positionieren und dann ReplaceSel ausführen.BTW: Das ist auch weitaus schneller. Das ganze geht auch mit EM_STREAMIN ist aber komplizierter. Man kann dann aber eben auch echten RTF Text hinzufügen.
PS: Warum nimmst Du ein RTF Control wenn es für normalen Text auch ein Edit Control tut?
-
Hi Martin,
danke für Deine Antwort, ich nehm das RTF einfach um zu lernen damit umzugehen !

ShadowEater
-
Das was Du hier machst geht genauso mit einem CEdit! Da lernst Du nichts Neues!
-
Hmmmm, ich dachte das RTF wäre das mächtigere Control mit mehr features ???
mfg
ShadowEater
-
Ähmm nur dass Du mich nicht falsch verstehst ich habe ein Projekt mit einem CRichEditView angelegt, kein ...Ctrl.

ShadowEater
-
Es gibt auch ein CEditView.
Warum muss man etwas mächtiges nehmen, wen es auch einfach geht.
BTW: SetWindowText/GetWindowText ist für die Füsse wenn Du auch die Formatierungen behalten möchtest!
-
Hi Martin,
Warum muss man etwas mächtiges nehmen, wen es auch einfach geht.
wie gesagt Du hast schon recht wenn Du sagst es gibt auch andere Controls mit denen ich zum Ergebnis käme, es geht einfach ums lernen !
Gibts irgendwo ne Liste von den Funktionen vllt. mit Beschreibung die das CRichEditView zur Verfügung stellt ?Danke für Deine Mühe
ShadowEater
-
Schon mal was von der MSDN gehört?
http://msdn2.microsoft.com/en-us/library/02k2ed5w(VS.80).aspxCRichEditView bildet nur den View ab. Die Klasse hat aber die Funktion GetRichEditCtrl, die eine Referenz auf das entsprechend dahinter liegende CRichEditCtrl liefert.
http://msdn2.microsoft.com/en-us/library/76a787xf(VS.80).aspx
-
Ja hab schon mal was davon gehört, danke für Deine Antwort !
Gruss
ShadowEater
-
Ich dachte die ganze Zeit wenn ich ein Projekt mit CRichEditView erstelle wärs das gewesen !
Ich kam einfach nicht drauf dass ich das CRichEditCtrl noch zusätzlich brauche !
Jetzt klappts
!Danke Martin

Gruß
ShadowEater
-
Ja das mit der Implementierung der speziellen Views aus den verschiedenen Control (RTF, Edit, Tree View, List View) ist entwas verwirrend.
Die MFC nutzt keine multiple inheritance. Folgerichtig ist ein CRichEditView erstmal ein View. Technisch interm (auf WIn32 API Ebene) ist ein CRichEditView und ein CRichEditCtrl das selbe, nämlich nichts anderes als ein RTF-Control.
Deshalb ist der cast in GetRichEditCtrl auch erlaubt...
Etwas trickreich aber effektiv
-
ist ein CRichEditView und ein CRichEditCtrl das selbe
so siehts aus, und das wichtigste is halt zu checken dass ein View eben ein View ist und nix anderes und das Ctrl halt gebraucht wird wenn ich seine Funktionen nutzen will (SetSel...).
So logisch wie es ist, so wenig / garnicht wird in der Literatur darauf eingegangen und wenn man dann als noch nicht Profi ein RichEditView denkt man halt dass man alles hat was man so braucht und schon fängt die Sache an weh zu tun ;)!
Is halt gut wenns son Forum / Leute gibt wie hier ... !!!

ShadowEater