MFC

修改控件文本颜色

c++

Posted by YiMiTuMi on September 22, 2021

修改控件文本颜色

StaticText测试可以,其余没有测试。

定义:

afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

事件:

ON_WM_CTLCOLOR()

实现:

HBRUSH CxxxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

	// TODO:  在此更改 DC 的任何属性
	if (nCtlColor == CTLCOLOR_STATIC)
	{
		switch (pWnd->GetDlgCtrlID())
		{
		case IDC_STATIC_xxx:   //空间ID
			{
				pDC->SetBkMode(TRANSPARENT);
				pDC->SetTextColor(RGB(255, 0, 0));   //文本颜色
				//也可以添加一些其他的修改.....
				
			}
			break;
		}
	}
	// TODO:  如果默认的不是所需画笔,则返回另一个画笔
	return hbr;
}

蓝色妖姬 – 相守