Visual C++ 的中文界面支持

发表于:2007-07-14来源:作者:点击数: 标签:
太原市200信箱11号 潘彤 李世展(030027) 在Microsoft 发行的Visual Studio 系列软件中Visual Basic和Visual Foxpro都有中文版,可以方便地设计具有中文界面的应用程序。然而Visual C++却没有中文版,因而不便于编写具有中文界面的应用程序。本人通过实践找
太原市200信箱11号 潘彤 李世展(030027)

在Microsoft 发行的Visual Studio 系列软件中Visual Basic和Visual Foxpro都有中文版,可以方便地设计具有中文界面的应用程序。然而Visual C++却没有中文版,因而不便于编写具有中文界面的应用程序。本人通过实践找到了用MFC AppWizard创建应用程序时生成中文界面的两种解决方法。

一、 资源文件本地化
通常,AppWizard创建的资源所使用的语言是美国英语。使用中文界面的方法为:

(1) 将鼠标指向所要修改的资源类型(如Dialog),单击鼠标左键即可。

(2) 将鼠标指向要修改的每一项资源(如IDD_ABOUTBOX)单击鼠标右键,从弹出的浮动菜单中选择Properties项,打开属性对话框。

(3) 从Properties 对话框的Language列表框中选择Chinese(P.R.C)即中文,然后关闭该对话框。

用户利用以上方法将所有资源都可以从使用英文改为使用中文。但是要注意:这样做并没有把已有的程序资源汉化,还需要按下面步骤将已有的程序资源汉化:

(1)在资源视图中选定所要汉化的资源项,如对话框、菜单或字符串表等,打开其对应的资源编辑器。

(2)在选定所要汉化的资源项上双击鼠标左键,打开属性对话框。

(3)在Caption文本框中输入中文信息,将对应的英文删除。

(4)对于菜单资源,还应同时修改属性对话框中的Prompt文本框中的提示信息。

(5)关闭属性对话框,将修改结果存盘,退出资源编辑器。

这样就完成了对AppWizard所生成的框架资源文件的汉化工作。

二、 AppWizard 的中文支持
Visual C++ 4.0、5.0提供多种本地化语言支持,其中包括简体中文。但是,在MFC AppWizard向导的第一个属性页中,有“What language would you like your resource in ?”列表框,其中,可以设置英语(美国)、西班牙语(传统)、法文(标准)、意大利语(标准)和德语(标准)等五种语言,而没有简体中文。要想在菜单、对话框或字符串等资源中输入汉字,就只能用前面的方法进行每个资源的修改。这里介绍一种更方便的方法即对AppWizard 添加中文支持。

由于Visual C++安装程序缺省安装在单字节操作系统中,因此,它没有考虑需要双字节操作系统支持的远东语言(包括日语、朝鲜语和简体中文)。这样,在AppWizard 第一页的下拉框中看不到它们,这不利于编写具有中文界面的应用程序,在开始编程前,首先要使AppWizard 支持汉语。

首先,我们找到在VC++4.0 CD的\MSDEV\BIN\IDE或VC++5.0 CD 的\DEVSTUDIO\SHAREIDE\BIN\IDE目录中包含AppWizard的远东语言支持DLLs,参见下表。

远东语言与AppWizard支持的DLL

语言
APPWIZARD DLL

日语
APPWZJPN.DLL

朝鲜语
APPWZKOR.DLL

简体中文
APPWZCHS.DLL




按照下列步骤操作即可实现AppWizard的简体中文支持:

1、 拷贝VC++ CD中的APPWZCHS.DLL(VC++4.0在\Msdev\Bin\Ide目录下,VC++5.0在\Devstudio\Shareide\Bin\Ide目录下)到C:\Msdev\Bin\Ide(VC++4.0)或C:\Program Files\Devstudio\Shareide\Bin\Ide(VC++5.0)目录下。注:这里假设VC++4.0安装在C:\Msdev目录下,VC++5.0安装在C:\Program Files目录下,以下相同。

2、 安装简体中文代码页到系统中(中文WIN95已安装)。

3、 如果应用程序是动态链接到MFC,在Windows的System目录中必须有MFC资源DLL的本地化版本MFC40LOC.DLL或MFC42LOC.DLL(VC++5.0)。为了实现中文本地化,须拷贝Visual C++4.0 CD的 \Msdev\Redist\MFC40CHS.DLL或Visual C++5.0 CD的 \Devstudio\VC\Redist\MFC42CHS.DLL到Windows的System目录下,并重命名为MFC40LOC.DLL(VC++4.0)或MFC42LOC.DLL(VC++5.0)。

4、 如果应用程序静态链接到MFC,在MFC\INCLUDE\L.CHS\*.RC目录必须有适当的本地MFC资源文件,这就需要以下的拷贝工作。将VC++4.0 CD的\Msdev\MFC\Include\L.CHS\*.RC拷贝到C:\Msdev\MFC\Include\L.CHS\*.RC或将VC++5.0 CD的\Devstudio\VC\MFC\Include\L.CHS\*.RC拷贝到C:\Program Files\Devstudio\VC\MFC\Include\L.CHS\*.RC。

经过上述操作,打开AppWizard的第一页,就会发现在语言资源列表框中包含“中文[APPWZCHS.DLL]”选项。选择它,然后创建一个应用程序,就会发现MFC提供的字符串资源,包括菜单、工具提示、消息提示和对话框,全是中文。这样用AppWizard生成了全中文用户界面。



以上介绍了两种方法实现VC++应用程序中文化。这两种方法在VC++4.0和VC++5.0环境下都进行了验证,完全满足要求,可以方便地实现应用程序中文界面,使程序适应于中国用户。 

原文转自:http://www.ltesting.net