枚舉並設置界面的Caption之多語言方法

2016-02-19 18:49 4 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享枚舉並設置界面的Caption之多語言方法的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

 

  uses
    ..., TypInfo;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  function TForm1.IsAPropExist(AInst: TObject; const PropName: string): Boolean;
  var
    PropInfo: PPropInfo;
  begin
    Result := False;
    PropInfo := GetPropInfo(AInst, PropName);
    if PropInfo nil then
      Result := PropInfo.Name = PropName;
  end;

  
  procedure TForm1.Button2Click(Sender: TObject);
  var
    i: Integer;
  begin
    for i := 0 to Self.ComponentCount - 1 do
    begin
      if IsAPropExist(Self.Components[i], 'Caption') then
        SetPropValue(Self.Components[i], 'Caption', IntToStr(i));
    end;
  end;
  

   

   

  -------------------------------------------------------------------------------

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  uses
    ..., TypInfo;
  
  procedure TForm1.FormCreate(Sender: TObject);
  var
    i: Integer;
    aComponent: TComponent;
    PropInfo: PPropInfo;
    ViewText, ViewHint: string;
  begin
    ViewText := 'Hello world'; // for debug use, you should comment these 2 lines
    ViewHint := 'the hint';    //   and then implement GetInfoByName method.
  
    for i := 0 to ComponentCount - 1 do
    begin
      aComponent := Components[i];
      PropInfo := GetPropInfo(aComponent.ClassInfo, 'Caption');
      if not Assigned(PropInfo) then // Caption property of aComponent NOT exists
      begin
        // turn to search Text property
        PropInfo := GetPropInfo(aComponent.ClassInfo, 'Text');
        if not Assigned(PropInfo) then // Text property of aComponent NOT exists
          Continue;
      end;
  
      // comes here, either Caption or Text property must exists
      // first, find the ViewText and ViewHint of the aComponent by the name
      // GetInfoByName(aComponent.Name, ViewText, ViewHint);
      SetStrProp(aComponent, PropInfo, ViewText);
  
      // then, search Hint property
      PropInfo := GetPropInfo(aComponent.ClassInfo, 'Hint');
      if Assigned(PropInfo) then
        SetStrProp(aComponent, PropInfo, ViewHint);
    end;
  end;

来源:http://www.tulaoshi.com/n/20160219/1619092.html

延伸阅读
QQ界面的模拟实现(下) 作者:小帅 下载源代码 四、上线时的声音及消息显示时的人物跳动 本人并未实现人物跳动,并不知道是切换图片,还是更改图片的位置,所以此功能有待各位的指点! 五、动感十足的抽屉菜单 我对QQ的这个菜单印象特深,犹其是配的“刷”的声音,充分体验到QQ的生动!下面就详细介绍自己是...
本期特约:海外美术团队 Lyson 1.浏览器的差别跟用户分辨率差别是我们首先考虑的问题; 2.游戏页面设计,需贴主题、游戏背景等主线关系; 3.布局跟文案很重要; 一、浏览器的差别跟用户分辨率差别是我们首先考虑的问题; 首先在这里想要再次为新人提下,现在霸占互联网最小分辨率的还会是1024用户(特别是中国),加之IE、FF主流浏览器的比例...
Win7系统开机不显示欢迎界面的方法   1、首先我们需要在桌面左下角处的开始菜单中,选择运行打开该对话框; 2、在打开的运行对话框中,输入gpedit.msc命令,再按住下面的确定按钮,即可打开本地组策略编辑器; 3、在组策略编辑器里面,可以看到很多系统功能都能在里面设置到; 4、接着,依次展开用户配置,然后找到...
Win7打开声卡设置界面的方法   1、首先打开控制面板,然后找到并点击Realtek高清晰音频管理器项; 2、或者可以打开控制面板,然后点击硬件和声音选项; 3、之后就可以同样也看到Realtek高清晰音频管理器项了,只要双击打开就即可设置了哦。 解决win7操作系统无法安装字体的方法   1、可能是desktop.ini文...
标签: 电脑入门
在正常情况下,Win8系统开机后会先进入Windows UI,也就是我们常说的Metro界面。这对于平板电脑来说或许很有必要,但对于PC用户来说,使用Win8时大多操作仍需要在桌面下进行,所以开机直接进入桌面模式似乎更加高效。Win8自身并没有提供可以修改开机模式的选项,因此我们就需要通过一些特殊方法来实现了。 开机跳过Win8界面直接进入桌面模...

经验教程

970

收藏

61
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部