小步慢跑

 

richedit2.0 设置英文字符字体

richedit 2.0 引入了新的一个特性 IMF_AUTOFONT。设置了这个属性后当键盘布局改变后richedit 会自动的设置适合当前布局的字体和字符集。所以在richedit中调用

SendMessage( EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&crf);

或会发现对中文字符设置的字体生效的,但是英文字符未生效。

可以去掉这个属性:

// 去掉 richedit2.0 默认设置了的 autofont 
BOOL CNetRichEditCtrl::DisableAutoFont()
{
    DWORD dwLanOptions 
= SendMessage(EM_GETLANGOPTIONS,0,0);
    
if (dwLanOptions&IMF_AUTOFONT)
    {
        dwLanOptions 
= dwLanOptions&~IMF_AUTOFONT;
        SendMessage(EM_SETLANGOPTIONS,
0,dwLanOptions);
        
return TRUE;
    }
    
return FALSE;
}


posted on 2012-09-13 11:53 zaccheo 阅读(800) 评论(0)  编辑 收藏 引用 所属分类: C++ win32/MFC


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿

随笔分类(23)

随笔档案(26)

文章分类(1)

文章档案(1)

csdn

搜索

最新评论

阅读排行榜

评论排行榜