MFC控制IDC_STATIC的大小和颜色

类向导添加消息WM_CTLCOLOR得到函数
根据函数GetDlgCtrlID对指定的控件进行操作

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

	// TODO:  在此更改 DC 的任何特性

	// TODO:  如果默认的不是所需画笔,则返回另一个画笔
	//通过ID判断是否对该控件进行操作
	if (pWnd->GetDlgCtrlID() == IDC_STATICSTATE) {
		if (m_StaticStateColor == 0) {
			pDC->SetTextColor(RGB(0, 255, 0));
		}
		else {
			pDC->SetTextColor(RGB(255, 0, 0));
			pDC->SetBkColor(RGB(0, 0, 0));
		}
		//控制字的大小
		pDC->SelectObject(&m_Staticfont);
	}
	return hbr;
}

字体大小字号选择

	CBrush m_Staticbrush;//画刷没有使用
	CFont m_Staticfont;//标准字体
	int m_StaticStateColor{ 0 };//0为绿色1为红色

	//字体初始化选择宋体,大小为200
	m_Staticfont.CreatePointFont(200, _T("宋体"));

你可能感兴趣的:(mfc,c++)