[问题提出]
很多时候,改变FormView中的控件和背景颜色很重要.
[问题解决]
在FormView中的视图界面也是窗口,所以完全可以用改对话框的方法改FormView.
[程序实现]
假设你有了名为My的SDI或MDI的工程.有了Static控件,改变控件的字体色,再改变界面的颜色:
class CMyView : public CFormView
{
public:
CBrush m_Brush;
.........
};
CMyView::CMyView()
: CFormView(CMyFormView::IDD)
{
//{{AFX_DATA_INIT(CMyFormView)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_Brush.CreateSolidBrush(RGB(0,0,0));
}
HBRUSH CMyView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(0,0,0));//试试没有这句会什么样;
}
return m_Brush;
// TODO: Return a different brush if the default is not desired
//return hbr;
}