MFC 中使用CFontDlg可以改变编辑框中文本字体,不能改变文本颜色,应该怎么办?

我的代码:voidCEditorView::OnSetFont()//”设置字体“菜单处理函数{CFontDialogdlg;//字体设置对话框if(dlg.DoModa... 我的代码:
void CEditorView::OnSetFont() //”设置字体“菜单处理函数
{
CFontDialog dlg; //字体设置对话框
if(dlg.DoModal()==IDOK)
{
if(m_font.m_hObject)//m_font为CFont对象
m_font.DeleteObject();
m_font.CreateFontIndirect(dlg.m_cf.lpLogFont); //获取设置字体
m_strFontName=dlg.m_cf.lpLogFont->lfFaceName;

m_ctrlEdit->GetWindowText(m_str1);
m_ctrlEdit->SetFont(&m_font);//设置编辑框字体
m_ctrlEdit->SetWindowText(m_str1); //用新设置的字体显示文本
}
}
展开
 我来答
归悦欣cf
2012-11-10 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1324万
展开全部
如果是对话框,改变字体颜色要到OnCtlColor消息函数里进行设置才会有效果或者直接利用GDI函数SetTextColor进行设置。
追问
我是想把编辑控件里的内容改变颜色,而且颜色是可以选择的,类似于调用一个特殊的颜色设置对话框;我上面的代码是调用了一个CFontDialog 字体设置对话框,本来是有颜色选项的,但选了没效果。
追答
我看了你的方法,改变字体没问题,但改变字体颜色不起作用,CFontDialog 对话框里可以获取设置字体及颜色,可以利用CFontDialog 的GetColor()函数获取设置的字体颜色,然后在利用我前面说的办法改变字体颜色。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式