001
21.09.2005, 13:51 Uhr
commanderberry
|
Keine Ahnung, warum die Message 'WM_CTLCOLOR' nicht da war. Ich habe die Klasse gelöscht und neu erstellt, nun ist sie da
Jezt habe ich das nächste Problem: Die Farbe des Buttons ändert sich nicht
Bei Klick auf den zu färbenden Button rufe ich einen Farbauswahldialog auf und speichere die Fareb in der membervariablen 'm_crColor'
C++: |
void CDisplayName::OnColorbtn() { CColorDialog* cdColorDialog = new CColorDialog; if (cdColorDialog->DoModal() == FALSE) return; m_crColor = cdColorDialog->GetColor(); }
|
Die Funktion 'OnCtlColor' sieht so aus: (Der zu ändernde Button hat die ID: 'IDC_COLORBTN')
C++: |
HBRUSH CDisplayName::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(pWnd->GetDlgCtrlID() == IDC_COLORBTN) { COLORREF color=RGB(255,0,0); pDC->SetTextColor(color); //<-- ändert weder Text noch Backgroundcolor.. pDC->SetBkColor(color); }
return hbr; }
|
Weiß jemand Rat? |