粉体工程与设备杂刊:VC中,如何通过调用字体通用对话框来改变一个控件的文本的颜色

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 20:23:52
如题,我已经知道如何调用字体通用对话框,而且已经实现了字体和大小的更改
现在的问题是,在字体通用对话框中即使选择了颜色,也不发将颜色应用。
请高手指点,我的程序代码如下:
void CEsayChatDlg::OnButtonFont() //改变字体 的响应函数
{
// TODO: Add your control notification handler code here
//获得控件的当前字体
LOGFONT lf;
GetDlgItem(IDC_EDIT_RECORD)->GetFont()->GetLogFont(&lf);
//使用按钮的当前字体初始化字体对话框
CFontDialog dlgFontDlg(&lf);
//显示字体选择对话框
if (dlgFontDlg.DoModal() == IDOK)
{
//如果用户在字体选择对话框中单击了“确定”按钮
//则将按钮ID_BUTTON_DEMODE的标题文本字体设置为所选定的字体
static CFont font;
dlgFontDlg.GetCurrentFont(&lf);
font.DeleteObject();
font.CreateFontIndirect(&lf);
GetDlgItem(IDC_EDIT_RECORD)->SetFont(&font);
}
}

设置文本的颜色需要使用下面函数
virtual COLORREF SetTextColor( COLORREF crColor );//设置绘制的文本颜色
你可以先获取 从 dlgFontDlg 中返回字体的颜色,然后调用上述的函数来设置文本颜色