摘要载入中… 请稍等…
内容载入中… 请稍等…
| ◎→ | 本类最新 |
|
DELPHI动态生成控件 Delphi编程中创建一个启动闪现窗 在win95,win98下实现半透明的窗口 拖动无标题栏窗体的方法 用Delphi 控制窗体的大小 使MDI窗口有一个背景图象或使它平 软件启动画面中启动状态的显示 |
|
| ◎→相关资源 | |
| C语言入门视频教程 C#编程WinForm入门视频 Asp.net入门视频教程下载 VC++编程视频教程下载 VB窗体文章 HTML入门教程 Deiphi实例教程 Deiphi窗体文章 Deiphi数据库编程 Deiphi网络编程 Deiphi图形图象文章 Deiphi系统文件 | |
| ◎→ | 热门资源 |
| 用拼音首字符来实现检索功能 将JPEG文件转为Windows墙纸 对DELPHI图形编辑技巧二则 Delphi编程实现3D图形修饰技术(2 Delphi编程实现3D图形修饰技术 Delphi实现通用的定时自动关机程 Delphi实现通用的定时自动关机程 |
|
在一些软件中,我们经常会看到界面语言切换功能,不过程序需要的这些各国语言信息都封装在DLL中,有的也存储在INI文件中,下面我就向大家介绍一个小技巧,在DELPHI中不需要任何DLL文件和INI文件,就可以实现此功能。
首先新建一工程,然后在窗体FORM1中加入一些控件,在这里我假设加入了如下控件:三个TBUTTON按钮,两个TCHECKBOX,一个TGROUPBOX和一个菜单。
然后把他们的CAPTION属性改为中文信息,再将对应的英文信息放在这些控件的HINT属性中,信息如下:
最后将Button1的TAG属性改为1,Button2的TAG属性改为2,双击FORM1,BUTTON1和BUTTON2,编写代码如下:
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环境下调试通过)
| 芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们 |