Delphi设计可中英文切换的界面技巧

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在⼀些软件中,我们经常会看到界⾯语⾔切换功能,不过程序需要的这些各国语⾔信息都封装在DLL中,有的也存储在INI⽂件中,下⾯我就向⼤家介绍⼀个⼩技巧,在Delphi中不需要任何DLL⽂件和INI⽂件,就可以实现此功能。

⾸先新建⼀⼯程,然后在窗体FORM1中加⼊⼀些控件,在这⾥我假设加⼊了如下控件:三个TBUTTON按钮,两个TCHECKBOX,⼀个TGROUPBOX和⼀个菜单。

然后把他们的CAPTION属性改为中⽂信息,再将对应的英⽂信息放在这些控件的HINT属性中,信息如下:procedure TForm1.FormCreate(Sender : Tobject);
begin
//初始化,显⽰中⽂界⾯
Button1.Enabled := False;
Button2.Enabled :=True
end;
procedure TForm1.ChangeState(Mode : Byte); //改变按钮状态
begin
if Mode = 1 then //如果是显⽰中⽂,则Button1失效,Button2有效
begin
Button1.Enabled := False;
Button2.Enabled := True;
End
Else
Begin
Button1.Enabled := True;
Button2.Enabled := False;
End;
end;
procedure TForm1.Button1Click(Sender: TObject);
 var i:Integer;
CS : String;
 Begin
ChangeState(Tbutton(Sender).Tag);
for i:=0 to ComponentCount-1 do
begin
//将窗体中的菜单项的中/英⽂进⾏切换
if Components[i] is TMenuItem then
begin
CS := TMenuItem(Components[i]).Hint ;
TMenuItem(Components[i]).Hint:=
TMenuItem(Components[i]).Caption ;
TMenuItem(Components[i]).Caption := CS ;
end;
//将窗体中的按钮的中/英⽂进⾏切换
if Components[i] is TButton then
begin
CS := TButton(Components[i]).Hint ;
TButton(Components[i]).Hint :=
TButton(Components[i]).Caption ;
TButton(Components[i]).Caption := CS ;
end;
//将窗体中的复选框的中/英⽂进⾏切换
if Components[i] is TCheckBox then
begin
CS:=TCheckBox(Components[i]).Hint ;
TCheckBox(Components[i]).Hint:=
TCheckBox(Components[i]).Caption ;
TCheckBox(Components[i]).Caption := CS ;
end;
//将窗体中的组合框的中/英⽂进⾏切换
if Components[i] is TGroupBox then
begin
CS:=TGroupBox(Components[i]).Hint ;
TGroupBox(Components[i]).Hint:=
TGroupBox(Components[i]).Caption ;
TGroupBox(Components[i]).
Caption := CS ;
end;
end;
end;
最后再将Button2的ONCLICK事件指向Button1的ONCLICK事件,按F9,运⾏⼀下,看看效果,切换的速度也⾮常快,有兴趣的朋友可以试试。

(本程序在DELPHI6+WIN2000环境下调试通过)。

相关文档
最新文档