起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 145|回复: 4

【搞定】[问题]如何判断控件是否具有某一属性**

[复制链接]
发表于 2007-5-28 16:27:26 | 显示全部楼层 |阅读模式
请问如何判断控件是否具有某一属性?
回复

使用道具 举报

发表于 2007-5-28 17:53:59 | 显示全部楼层
直接控件名,打点 可以提示出来
比如:Button1. 可以代码提示出来所有的属性和方法

也可以查StudioHelp,看它自己的属性,看它父类的属性...一级一级的往上看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-29 14:49:51 | 显示全部楼层
你误解我的意思了,我是想用代码判断窗体上的所有控件是否具体某一属性。如输入法属性imename,我想把所有的具体输入法属性的ImeName属性设置为空。如DELPHI可以用如下代码实现:
var     PropInfoPropInfo;   
        
      PropInfo:=GetPropInfo(controls.ClassInfo,'Text');   
      if   (PropInfo<>nil)   then   
          SetStrProp(controls[I],   PropInfo,   Sstr)   
      else   
      begin   
          PropInfo:=GetPropInfo(controls.ClassInfo,'Lines');   //这里是Memo控件,就不知道怎么写   
          if   (PropInfo<>nil)   then   
          begin   
              PropInfo:=GetPropInfo(GetObjectProp(controls,'Lines',Tstrings).classinfo,'Text');   
              if   (PropInfo<>nil)   then   
              SetStrProp(controls[I],   PropInfo,   Sstr);   
              end;   
      end;
回复 支持 反对

使用道具 举报

发表于 2007-5-29 15:03:11 | 显示全部楼层
你可以用
try
  s := ObjectHelper.ToStr(ObjectHelper.PropertyGet(controls, 'imename'));
  //没有出错,说明有这个属性
except
  //出错了,说明没有这个属性
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-30 15:35:12 | 显示全部楼层
搞定!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 02:21 , Processed in 0.037242 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表