VS2010 MFC编辑框如何改变字体的大小和颜色
1.改变字体大小:
方法一:
步骤一:在Dlg类中增加一个类成员变量: CFont m_editFont;
注意:这里Font对象必须是类成员变量,不能是局部变量,否则会出现只改变了光标的大小,而不能改变字体的大小。
步骤二:添加一个m_editPlace的edit变量,在OnInitDialog方法中增加下列语句:
m_editFont.CreatePointFont(180, "宋体");
m_editPlace.SetFont(&m_editFont); // 设置新字体
方法二:
在OnInitDialog方法中增加下列语句也可以实现:
CFont* ptf=m_editPlace.GetFont(); // 得到原来的字体
LOGFONT lf;
ptf->GetLogFont(&lf);
lf.lfHeight = 20; // 改变字体高度
strcpy (lf.lfFaceName, "隶书"); // 改变字体名称
m_editFont.CreateFontIndirect(&lf);
m_editPlace.SetFont(&m_editFont); // 设置新字体
注意:If是个新的结构体变量,GetLogFont函数是实现将ptf中的LOGFONT结构体变量拷贝给If了,所以改变If不等于是改变ptf中的LOGFONT变量。所以下面必须加这两句来创建新的字体对象
m_editFont.CreateFontIndirect(&lf);
m_editPlace.SetFont(&m_editFont); // 设置新字体
2.设置字体颜色:
1.新建一个基于对话框的程序、
2.添加一个pDC->SetTextColor(RGB(255,0,0));//设置他的文本显示
edit控件,id为IDC_EDIT_DEMO3.在CXXXDlg类向导中添加一个WM_CTLCOLOR响应函数、写下下面的代码:HBRUSH CChangeColor_EditDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: 在此更改 DC 的任何特性// TODO: 如果默认的不是所需画笔,则返回另一个画笔
switch(pWnd->GetDlgCtrlID())
{
case IDC_EDIT_DEMO: pDC->SetTextColor(RGB(255,0,0));//设置他的文本显示
break;
}
return hbr;
}
另外可参考MFC EDIT控件中改变背景色和文字颜色:http://blog.csdn.net/wjeson/article/details/7382364