000
03.05.2006, 16:18 Uhr
beasty
|
Hallo,
ich erstelle gerade eine DTP-Applikation (MDI) nach dem Stil von Photoshop (Ebenen,...). Zum erstellen von Textfeldern benutze ich das ActiveX-Control richtx32.ocx (CRichText), welches, wie alle anderen Elemente auch, innerhalb eines Memorymanagers gehalten wird und in meiner View an entsprechender Stelle, mit entsprechender Größe gezeichnet wird.
Da die Textbox jedoch nur den Text und nicht auch noch die Umrandung des Controls im View darstellen soll, versuche ich entsprechend die Eigenschaften des Controls (BorderStyle = rtfNoBorder und Appearance = rtfFlat) zu setzen.
Mittels der erzeugten Wrapperklasse funktioniert auch das Setzen der BorderStyle- Eigenschaft über ((CRichText *)(pActualObject->pObject))->SetBorderStyle(0);
jedoch bekommen ich zur Laufzeit des Programms für die Eigenschaft Appearance mittels Aufruf von ((CRichText *)(pActualObject->pObject))->SetAppearance(0); eine MessageBox mit der Nachricht, dass die Eigenschaft schreibgeschützt sei!!!
Warum? Und was mache ich falsch?
Mittels Dienstprogramm "Test-Container für ActiveXSteuerelemente" kann ich die Methode doch auch händisch aufrufen und alles funktioniert.
Eine Alternativcontrol habe ich momentan nicht und möchte auch kein eigenes dafür implementieren. Das schöne daran ist ja, dass der formatierbare Text gleich als RTF weggespeichert werden kann und somit als Zwischencode für ein eigenes Dateiformat dienen kann.
Grüße an euch Alle Ron
(achso, wenns helfen sollte, ich arbeite unter WinXP SP2, VC 6++) |