文章目录
- 1.修改字体、大小
- 2.改变编辑框文本颜色、背景颜色
- [3 运行实例](#3 运行实例)
1.修改字体、大小
声明一个CFont类型的类成员变量
cpp
CFont m_editFont;
在需要的地方 添加以下两行代码:
cpp
//设置静态文本字体大小
m_editFont.CreatePointFont(180, _T("宋体"));
m_Static.SetFont(&m_editFont);
或者新建一个CFont对象
cpp
CFont *pFont = new CFont();
//设置静态文本字体大小
pFont->CreatePointFont(180, _T("宋体"));
GetDlgItem(IDC_STATIC)->SetFont(pFont);
2.改变编辑框文本颜色、背景颜色
添加OnCtlColor
函数
右键点击该对话框-> 类导向 -> 消息 ->双击添加WM_CTLCOLOR,就可以在Dlg类中看到3所示函数OnCtlColor了。


添加之后,添加代码
cpp
HBRUSH CMFCApplication1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if (pWnd->GetDlgCtrlID() == IDC_result_STATIC)// IDC_result_STATIC为所选文本框ID
{
pDC->SetTextColor(RGB(0, 255, 0));//设置字体颜色
pDC->SetBkColor(RGB(0, 0, 0));//设置背景颜色
//pDC->SetBkMode(TRANSPARENT);//设置背景透明
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
3 运行实例
当按下 Button3,在静态框中显示 ,绿色的OK,背景黑色
cpp
void CMFCApplication1Dlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知处理程序代码
CFont* pFont = new CFont();
//设置静态文本字体大小
pFont->CreatePointFont(800, _T("楷体"));
GetDlgItem(IDC_result_STATIC)->SetFont(pFont);
CString str = _T("OK");
SetDlgItemText(IDC_result_STATIC, str);
}
HBRUSH CMFCApplication1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if (pWnd->GetDlgCtrlID() == IDC_result_STATIC)// IDC_result_STATIC为所选文本框ID
{
pDC->SetTextColor(RGB(0, 255, 0));//设置字体颜色
pDC->SetBkColor(RGB(0, 0, 0));//设置背景颜色
//pDC->SetBkMode(TRANSPARENT);//设置背景透明
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
