Editcontrol: Hintergrund in Farbe
-
Wie der Titel schon sagt. Wie bekomme ich den ganzen Hintergrund meines
Editcontrols farbig? Bis jetzt kann ich immer nur den Bereich in Farbe
halten, der auch mit Text beschrieben ist.switch (nCtlColor) { case CTLCOLOR_EDIT: pDC->SetTextColor(RGB(0,0,255)); pDC->SetBkColor(RGB(236,233,216)); { if (pWnd->GetDlgCtrlID()==IDC_EDIT1) { pDC->SetBkColor(RGB(0,255,0)); //205,51,51 pDC->SetBkMode(OPAQUE);//TRANSPARENT } } case CTLCOLOR_DLG: return (HBRUSH)m_brush;
-
guckst du -> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfcnotes_tn062.asp
grüssle
-
CBrush m_brush; m_brush.CreateSolidBrush(RGB(205,51,51)); pDC->SetBkColor(m_brush); //'CDC::SetBkColor': Konvertierung des Parameters 1 von 'CBrush' in 'COLORREF' nicht möglich
-
Vermutung:
pDC->SetBkColor(RGB(205,51,51));
-
Nein war mein Fehler COLORREF != CBrush
Aber warum stürzt jetzt alles ab? Ich seh zwar noch den
Dialog und das Control ist auch rot, aber dann Absturz.
Im Debugger ist nix zu finden was mir einen Anhaltspunkt bietet.HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if (pWnd->GetDlgCtrlID()==IDC_EDIT1) { m_clrBkgnd = RGB( 205, 51, 51 ); m_brBkgnd.CreateSolidBrush( m_clrBkgnd ); pDC->SetBkColor( m_clrBkgnd ); } return m_brBkgnd;
-
Sorry falsch platziert, der Bigbeermus muss ja in OnInitDialog.
Hat sich erledigt. Danke!