Textzeilen in CEdit mit verschiedenen Farben versehen
-
Hallo zusammen,
ich schreibe gerade eine Art Messenger. Ich will nun die verschiedenen Textzeilen in zwei verschiedene Farben darstellen. Momentan kann ich zwar die Farben ändern, jedoch werden die Farben für alle Textzeilen im Edit Control geändert.
Hier mal ein paar Code ausschnitte:
HBRUSH CMessengerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // Brush mit der Hintergundfarbe erstellen 212,208,200 static CBrush bgBrushCol(RGB(255,255,255)); // static CBrush bgBrushColDlg(RGB(180,180,180)); if (nCtlColor == CTLCOLOR_STATIC ) { // den Hintergrund der statischen Steuerelemente einfärben: hbr = HBRUSH(bgBrushCol); pDC->SetBkColor(RGB(255,255,255)); pDC->SetTextColor(m_crTextCol); } return hbr; } void CMessengerDlg::SetTextColor(COLORREF rgb) { m_crTextCol = rgb; //redraw Invalidate(TRUE); } ... SetTextColor(RGB(0, 255, 80));Ist es möglich die Farben einzeln den Zeilen anzupassen?
Gruß und Danke!
-
-
Ich denke mit CRichEdit-Element ist es sogar einfacher.
Beispiele sind unter www.codeproject.com zu finden.
-
du könntest auch das IE control (COM) einbauen und den text somit html-formatiert ausgeben