天天看点

MFC:给编辑框设置字体颜色大小

首先,给编辑框定义CEdit变量

然后,在头文件添加变量

在初始化函数中添加一下代码

CFont*  pFont = mn_adname.GetFont();
	LOGFONT  lf;

	if (pFont)
	{
		pFont->GetLogFont(&lf);

		lf.lfHeight = 20;//改变字体高度    

		wcscpy_s(lf.lfFaceName, _T("宋体"));//改变字体名称    

		m_fontEdit.CreateFontIndirect(&lf);

		mn_adname.SetFont(&m_fontEdit);
	}
           

然后重写消息函数OnCtlColor

HBRUSH REGISTE::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);	
	if (pWnd == &mn_adname)
	{
		CFont font;
		LOGFONT lf;
		if (!pDC)
			return NULL;

		//创建一个空画刷,返回这个画刷可以让静态控件的背景透明  
		HBRUSH hr = (HBRUSH)GetStockObject(NULL_BRUSH);
		//让文字的背景透明  	
		pDC->SetBkMode(TRANSPARENT);
		//设置文字的颜色为白色  
		//pDC->SetTextColor(RGB(200, 200, 200));
		pDC->SetTextColor(RGB(0, 128, 255));
	}	
	return hbr;
}
           
MFC