T
Hallo xyz44,
in Deiner Routine OnCTLColor, fehlt der Entscheidene hinweis, welches
Element Du ändern willst.
Beispiel:
HBRUSH CFarbeDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// Hintergrund des Dialoges wird nicht geändert.
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// Brush für den Hintergrund des Eingabefeld
HBRUSH hBGEdit = CreateSolidBrush(RGB(0, 0, 0));
// Element ermitteln, was geändert werden soll.
if(pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
// Hintergrund für Text transparent setzen.
pDC->SetBkMode(TRANSPARENT);
// Farbe des Textes ändern.
pDC->SetTextColor(RGB(255, 0, 0));
// Brush für Hintergrund des Eingabefelds zurückgeben.
return hBGEdit;
}
//ungeänderten Brush für den Dialog zurückgeben.
return hbr;
}