MFC控制IDC_STATIC的大小和颜色

发布于:2023-09-07 ⋅ 阅读:(90) ⋅ 点赞:(0)

类向导添加消息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("宋体"));
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到