按照下面的流程来添加一个函数即可,至于为什么添加这个函数,是大家需要思考的内容,还有就是字体属性能通过哪些函数来修改,这是一个问题,需要大家去解决。。。(准确来说把控件ID放到函数里面去就能够进行相关操作了)
1.打开对应对话框的类向导ClassWizard。
2.在消息映射MessageMaps中添加消息Message:WM_CTLCOLOR。
3.然后程序代码中会添加进函数:
OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
4.在这个函数中添加if语句,其中的条件表达式改成想要设置的控件;
比如改成: if (pWnd-> GetDlgCtrlID() == IDC_STATIC1 || pWnd-> GetDlgCtrlID() == IDC_STATIC2)
注意,控件ID最好改过,如果多个控件使用同个默认ID,函数则不识别。
5.在if中添加以下语句:
pDC->SetTextColor(RGB(255,255,255)); //设置字体为白色
pDC->SetBkMode(TRANSPARENT); //设置背景为透明
整个函数的代码如下:
HBRUSH CHall::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd-> GetDlgCtrlID() == IDC_STATIC1 || pWnd-> GetDlgCtrlID() == IDC_STATIC2 || pWnd-> GetDlgCtrlID() == IDC_STATIC3)
{
pDC->SetBkMode(TRANSPARENT); //设置背景透明
pDC->SetTextColor(RGB(255,255,255));
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
return hbr;
}