Re: CEditView OnCtrlColor Not Received
Try ON_WM_CTLCOLOR_REFELECT()
and
afx_msg HBRUSH CtlColor(CDC *pDC, UINT nCtlColor);
AliR.
"Jeffrey Walton" <noloader@gmail.com> wrote in message
news:86d4b30e-4861-4cd5-b097-30cea7ccd74a@24g2000yqm.googlegroups.com...
Hi All,
I have an SDI project with five views. One view is derived from
CEditView. I'm trying to change the background color on the derived
view, but WM_CTRLCOLOR is not being received by the view.
Any ideas? Thanks,
Jeff
class CMyView : public CEditView
{
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
...
}
BEGIN_MESSAGE_MAP(CMyView, CEditView)
ON_WM_CTLCOLOR()
END_MESSAGE_MAP()
BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CEditView::PreCreateWindow(cs) )
return FALSE;
cs.style |= ES_READONLY | ES_MULTILINE | ES_AUTOVSCROLL;
return TRUE;
}
HBRUSH CMyView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// Calling Base class makes no difference
// HBRUSH hbr = CEditView::OnCtlColor(pDC, pWnd, nCtlColor);
pDC->SetBkColor( RGB(255,255,255) );
pDC->SetTextColor( RGB(0,0,0) );
return (HBRUSH)m_brushWhite.GetSafeHandle();
}