读书人

关于DevExpress VCL汉化方法 有关问题

发布时间: 2013-09-05 16:02:07 作者: rapoo

关于DevExpress VCL汉化方法 问题
本帖最后由 lightdc4 于 2013-08-27 22:38:21 编辑 以下引用搜到的“
用法1:在工程中加入控件cxLocalizer;
在程序中加入如下语句:
Localizer.LoadFromFile(‘DevLocal.ini‘);
Localizer.Language := '中文(简体,中国)';
Localizer.Active := true;

用法2:用DevExpress提供的工具cxLocalizerEditor打开这个ini文件,然后File->Build Resource File...;
在工程中加入控件cxLocalizer;
在程序中加入如下语句:
{$R 语言文件.res}
Localizer.LoadFromResource(HInstance);
Localizer.Language := '中文(简体,中国)';
Localizer.Active := true;

用法2可将语言嵌入程序内部而不需要分发res文件。
如有翻译不全或错误的地方,可使用cxLocalizerEditor自行修改”
关于用法1,我静态设好了能用,但是在程序中动态加入这些代码,就是没汉化成功,是不是放的地方放错了?不能随时转换的吗?
关于用法2,这个以我的水平,实在是看不懂,生成了一个RES文件也没有说明放到哪里,我就照着生成了一个言语文件.res然后放到程序根目录,可能到执行代码的时候提示这个HInstance出错。
关于最好红字部分,更加看不懂,唉水平有限,高手能帮帮忙不,先谢谢了。 汉化 Localizer VCL DevExpress
[解决办法]


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxLocalization, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxStyles, cxCustomData, cxGridCustomView,
cxGridChartView, cxClasses, cxGridLevel, cxGrid;

type
TForm1 = class(TForm)
cxLocalizer1: TcxLocalizer;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGrid1ChartView1: TcxGridChartView;
cxGrid1ChartView1Series1: TcxGridChartSeries;
cxGrid1ChartView1DataGroup1: TcxGridChartDataGroup;
private

protected
procedure Loaded; override;
public

end;

var
Form1: TForm1;

implementation

{$R *.dfm}


{-------------------------------------------
过程名: TForm1.Loaded


作者: harlanchou
日期: 2013.08.29
说明: cxLocalizer1放在这里比较合适,其它的地方无效
-------------------------------------------}
procedure TForm1.Loaded;
begin
//=========================================================
// 方法一:使用ini文件来汉化
//=========================================================
cxLocalizer1.StorageType := lstIni;
cxLocalizer1.FileName := 'C:\Program Files\Borland\Delphi7\Projects\test.ini';

//=========================================================
// 方法二:使用Res来汉化
//=========================================================
cxLocalizer1.StorageType := lstResource;

//加载Res有两种方法 方法一动态加态
cxLocalizer1.FileName := 'C:\Program Files\Borland\Delphi7\Projects\test.res';
//方法2 把res文件编译入程序{$R test.res}
cxLocalizer1.LoadFromResource(HInstance);

//这里最好不要使用这个属性来设置语言种类
//cxLocalizer1.Language := '中文(中国)';
cxLocalizer1.Locale := 2052;
cxLocalizer1.Active := True;
inherited;
end;

end.

读书人网 >.NET

热点推荐