在做项目的时候使用到了额外引用了MSFlexGrid控件,因为项目是Unicode环境,支持多语言,其中包括中文(简体,GB2312)和中文(繁体,Big5),WinXP操作系统语言是简体中文时,软件选择不同的语言环境,MSFlexGrid上的控件的语言能正常显示;WinXP操作系统选择语言为繁体中文时,MSFlexGrid上的控件的语言显示为乱码。调试发现,从语言文件里拿到的是正确的语言,只是m_cMSFlexGrid.SetTextMatrix(0, 0, (LPCTSTR)g_LoadString(IDS_STR_SUNDAY));控件显示语言不正常。
解决方法是:
1,选择MSFlexGrid控件,右键properties,最后一个“All”选项里,双击Font,设置Font为“Tahoma”。
2,在程序更换语言的地方加上m_cMSFlexGrid.SetCellFontName(_T("Terminal"));
这样编译后的控件上显示的语言才正确。