在线等,vc2005 MFC对话框,如何设置文本框字体颜色,有人说用OnCtlColor函数,这个系统函数怎么生成的?
1个回答
展开全部
响应WM_CTLCOLOR即可。
1.可使用类向导添加OnCtlColor()函数
2.可手动添加OnCtlColor()函数
在.h文件中添加函数声明:
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
在.cpp文件中添加:
BEGIN_MESSAGE_MAP(CDefinedViewDlg, CDialog)
...
ON_WM_CTLCOLOR()
...
END_MESSAGE_MAP()
//函数实现
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_E_TEST) //控件ID
pDC->SetTextColor(RGB(255,0,0)); //设置颜色
return hbr;
}
1.可使用类向导添加OnCtlColor()函数
2.可手动添加OnCtlColor()函数
在.h文件中添加函数声明:
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
在.cpp文件中添加:
BEGIN_MESSAGE_MAP(CDefinedViewDlg, CDialog)
...
ON_WM_CTLCOLOR()
...
END_MESSAGE_MAP()
//函数实现
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_E_TEST) //控件ID
pDC->SetTextColor(RGB(255,0,0)); //设置颜色
return hbr;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询