将一个字符串映射为一个Delphi页面控件属性名(通过FindComponent和GetPropInfo找到这个控件指针)

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个字符串映射为一个Delphi页面控件属性名(通过FindComponent和GetPropInfo找到这个控件指针)相关的知识,希望对你有一定的参考价值。

uses   TypInfo;   
    
  function   TForm1.SetControlProp(ComStr,   value:   string):   boolean;   
  var   ComName,   ComProp:   string;   
          i:   integer;   
      Loop:   Integer;   
      PropInfo:   PPropInfo;   
      cp:   TComponent;   
  begin   
      i   :=   Pos(\'.\',   ComStr);   
      if   i   >   0   then   
      begin   
          ComName   :=   copy(ComStr,   1,   i-1);   
          ComProp   :=   Copy(Comstr,   i+1,   1000);   
          cp   :=   FindComponent(ComName);   
          PropInfo   :=   GetPropInfo(cp.ClassInfo,   ComProp);   
          if   Assigned(PropInfo)   then   
              SetStrProp(cp,   PropInfo,   value);   
      end;   
  end;   
    
  procedure   TForm1.Button3Click(Sender:   TObject);   
  begin   
    SetControlProp(\'button1.caption\',   \'test\');   // 設置button1的caption   為   test   
  end;   

 

http://www.cnblogs.com/kfarvid/archive/2009/10/19/1586229.html

以上是关于将一个字符串映射为一个Delphi页面控件属性名(通过FindComponent和GetPropInfo找到这个控件指针)的主要内容,如果未能解决你的问题,请参考以下文章

delphi中的ApdComPort控件在哪,谢谢

delphi常用函数大全(转)

Delphi中from.tag和edit.tag这两个属性指的是啥呀,具体有啥用?

在 Delphi IDE 中,我可以更改默认控件属性吗

Delphi部份函数,命令,属性中文说明

delphi的adoconnection控件自动连接问题