BCGCONTROLBAR中文菜单栏乱码情况解决方法
首先利用MFC生成一个新的工程,对照MFC工程的.rc文件更改BCG工程的.rc文件,具体更改以下项目:
1、#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)改成#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
2、#pragma code_page(1252)改成#pragma code_page(936)
3、LANGUAGE 9 1改成LANGUAGE 4, 2
文件中所有的这三处地方都要这样改改
还要注意打开资源文件要用文本方式打开,不要用自动方式
改好后重新编译
这还不够,还要在程序运行时选择菜单“View|Toolbars|Customize”,然后在对话框中选择Menu标签(下图),然后点击Reset就可以了。
默认情况下,上面的对话框显示的也是英文,如果要以中文显示就需要加载BCG的中文资源DLL。
在程序中加载中文资源DLL,需要一下三步:
1、在你的应用程序类(CXXXApp类)中添加如下变量:
HINSTANCE m_hinstBCGCBRes;
2、在你的应用程序类的初始化函数InitInstance () 中加载资源:
m_hinstBCGCBRes = LoadLibrary (_T("BCGCBProRes***.dll")); // *** -表示资源缩写,中文是CHS,中文资源DLL为BCGCBProResCHS.dll
BCGCBProSetResourceHandle (m_hinstBCGCBRes);
3、在函数ExitInstance中卸载资源: