-nPrCrZ Geschrieben 9. November 2002 Geschrieben 9. November 2002 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 Zitieren
Klotzkopp Geschrieben 9. November 2002 Geschrieben 9. November 2002 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. Zitieren
-nPrCrZ Geschrieben 9. November 2002 Autor Geschrieben 9. November 2002 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? Zitieren
Klotzkopp Geschrieben 9. November 2002 Geschrieben 9. November 2002 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] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.