Veröffentlicht 9. November 200222 j Hi, kann mir jemand sagen, wie man in einem RichEdit die Schriftfarbe ändern kann? Die Farbe, in die gewechselt werden soll ist in einer Variable vom Typ COLORREF gespeichert. mfg $nPrCrZ
9. November 200222 j Du selektierst den zu ändernden Text, und verschickst EM_SETCHARFORMAT (bzw. rufst CRichEditCtrl::SetSelectionCharFormat auf, falls Du die MFC verwendest). In der CHARFORMAT-Struktur, die als Parameter übergeben wird, gibt es einen COLORREF-Member namens crTextColor.
9. November 200222 j Hat nicht funktioniert. Mein Code: /*********************************************/ UpdateData(); CHARFORMAT charformat; m_RichEditCtrl.SetSel(2, 12); m_RichEditCtrl.GetSelectionCharFormat(charformat); charformat.crTextColor = FontDialog.GetColor(); m_RichEditCtrl.SetSelectionCharFormat(charformat); UpdateData(FALSE); /*********************************************/ was mache ich falsch?
9. November 200222 j Entweder ist das Flag CFM_COLOR in dwMask nicht gesetzt, oder das Flag CFE_AUTOCOLOR in dwEffects ist gesetzt. Versuch mal das hier: CHARFORMAT charformat; m_RichEditCtrl.SetSel(2, 12); m_RichEditCtrl.GetSelectionCharFormat(charformat); charformat.crTextColor = FontDialog.GetColor(); [color=darkred]charformat.dwMask |= CFM_COLOR; charformat.dwEffects &= ~CFE_AUTOCOLOR;[/color] m_RichEditCtrl.SetSelectionCharFormat(charformat);[/CODE]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.