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

面子能卖钱

面子能卖钱

2016-02-19 18:49

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

  uses
    ..., TypInfo;

(本文来源于图老师网站,更多请访问http://m.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://m.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;

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
枚舉並設置界面的Caption之多語言方法

进入Linux终端界面的方法汇总

电脑入门
进入Linux终端界面的方法汇总

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VC界面的实现

C语言教程 C语言函数
VC界面的实现

Win10进入UEFI界面的方法

电脑入门
Win10进入UEFI界面的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Debian开机不进入图形界面的方法

电脑入门
Debian开机不进入图形界面的方法

运动减肥方法之多走楼梯

减肥 健康减肥 减肥小妙招 减肥方法
运动减肥方法之多走楼梯

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在Delphi里播放Flash

在Delphi里播放Flash

即使相见、相遇那只是一个擦肩而过罢了

即使相见、相遇那只是一个擦肩而过罢了
下拉加载更多内容 ↓