奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 程序开发 >> Delphi >> Delphi设计可中/英文切换的界面技巧
程序开发
Asp
PHP
JSP
CGI/Perl
XML
.Net
C/C++/C#
Visual Basic
Visual C++
Delphi
Java
汇编语言
  • Delphi编程创建和删除

  • Delphi实现网页表单数

  • 用Delphi开发Web服务数

  • Delphi中利用钩子实现

  • 一个判断定文件是否为

  • 把Flash文件转换为Exe

  • 用Delphi实现文件下载

  • Delphi中保存图像列表

  • Delphi设计可中/英文切换的界面技巧
    字体:

    中华网络安全联盟    作者:燕南天    来源:赛迪网    时间:2006-4-20

        在一些软件中,我们经常会看到界面语言切换功能,不过程序需要的这些各国语言信息都封装在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环境下调试通过)

    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.