现在的位置: 首页 > 综合 > 正文

BCGCONTROLBAR中文菜单栏乱码情况解决方法

2018年02月09日 ⁄ 综合 ⁄ 共 717字 ⁄ 字号 评论关闭

首先利用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中卸载资源:

抱歉!评论已关闭.