场景:
Win7简体中文 + VC2008 sp1下编写的SDI程序, 在程序运行时控件的默认字体是"MS Shell Dlg", 但是标题和菜单的字体却是"宋体".需要为SDI程序实现多语言(中文, 英语, 俄语, 阿拉伯语, 蒙古语等).
问题:
Win7简体中文下, 中文, 英文都很正常显示, 但俄语, 在控件上就可以正常显示, 而在标题, 菜单, 状态栏上显示就不正常了, 字母之间隔得很开!解决思路:
1. 俄语在控件上显示正常, 在标题上显示不正常. 很明显, "MS Shell Dlg"字体可以正常显示俄语, "宋体"不能.2. 把标题, 菜单, 状态栏的字体修改为"MS Shell Dlg"即可.
方法一.
NONCLIENTMETRICS m_ncmOld;
NONCLIENTMETRICS m_ncmNew;
BOOL CXXXApp::InitInstance()
{
// 保存开始设置
m_ncmOld.cbSize = sizeof(NONCLIENTMETRICS);
::SystemParametersInfo(SPI_GETNONCLIENTMETRICS, m_ncmOld.cbS