用mfc开发的activx控件,加入了常用属性backcolor,forecolor,在构造函数里用
SetForeColor(RGB (255,255,255));
SetBackColor(RGB (31,92,203));
设值,想在ondraw()里显示,
CBrush *pBrush=new CBrush(GetBackColor());
pdc->FillRect(&rcBounds,pBrush);
pdc->SetTextColor(GetForeColor());
pdc->SetBkColor(GetBackColor());
结果根本没有效果,怎么回事?
SetForeColor(RGB (255,255,255));
SetBackColor(RGB (31,92,203));
设值,想在ondraw()里显示,
CBrush *pBrush=new CBrush(GetBackColor());
pdc->FillRect(&rcBounds,pBrush);
pdc->SetTextColor(GetForeColor());
pdc->SetBkColor(GetBackColor());
结果根本没有效果,怎么回事?
MESSAGE_HANDLER(WM_CTLCOLORDLG, OnColorDlg)
MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnColorDlg)
...
#define MY_BACKCOLOR RGB(192,192,255)
// -------------------------------------------------------------------------
------
CMyControl::CMyControl() {
LOGBRUSH logbrush;
logbrush.lbColor = MY_BACKCOLOR;
logbrush.lbStyle = BS_SOLID;
m_hbrMyBack=CreateBrushIndirect(&logbrush);
}
//
//
// -------------------------------------------------------------------------
------
LRESULT CMyControl::OnColorDlg(UINT uMsg, WPARAM wParam, LPARAM lParam,
BOOL& bHandled){bHandled = TRUE;
::SetBkColor((HDC) wParam, MY_BACKCOLOR); return (LRESULT)m_hbrMyBack;
};