CnPack Forum


 
Subject: 关于GetPropInfo和SetPropValue的用法疑问
jxydhzw
普通灌水员
Rank: 2



UID 3904
Digest Posts 1
Credits 64
Posts 19
点点分 64
Reading Access 10
Registered 2006-12-26
Status Offline
Post at 2008-8-29 12:53  Profile | Blog | P.M. 
关于GetPropInfo和SetPropValue的用法疑问

关于GetPropInfo和SetPropValue的用法疑问
这几天在用 Dev系列的控件,比如 TcxComboBox
的确很强大.但是开发中遇到些问题.比如动态设定其属性的问题
因为这些控件有些属性是在嵌套属性当中.比如TcxComboBox的
ReadOnly属性是在其Properties属性里的.这下动态设置起来就麻烦了
之前一些属性仅仅这样就可以了
SetPropValue(FindComponent('edit1'),'ReadOnly','True');
就搞定了.但是它们的嵌套怎么搞?
我试过
SetPropValue(FindComponent('cxcmbList1'),'Properties.ReadOnly','True');
这样不行.报"Property Properties.ReadOnly does not exist"这个错.
不知道有朋友知道怎么设法吗?
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6750
Posts 3551
点点分 6750
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2008-8-29 13:43  Profile | Blog | P.M. 
参考CnPack组件包的CnCommon单元里头的级联属性操作相关函数。
如:

function GetPropInfoIncludeSub(Instance: TObject; const PropName: string;
  AKinds: TTypeKinds = []): PPropInfo;
{* 获得级联属性信息}

function GetPropValueIncludeSub(Instance: TObject; PropName: string;
    PreferStrings: Boolean = True): Variant;
{* 获得级联属性值}

function SetPropValueIncludeSub(Instance: TObject; const PropName: string;
  const Value: Variant; AOwner: TComponent = nil): Boolean;
{* 设置级联属性值}

procedure DoSetPropValueIncludeSub(Instance: TObject; const PropName: string;
  Value: Variant; AOwner: TComponent = nil);
{* 设置级联属性值,不处理异常}
Top
 




All times are GMT++8, the time now is 2024-3-29 19:50

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.005638 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP