Board logo

Subject: 关于GetPropInfo和SetPropValue的用法疑问 [Print This Page]

Author: jxydhzw    Time: 2008-8-29 12:53     Subject: 关于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"这个错.
不知道有朋友知道怎么设法吗?
Author: Passion    Time: 2008-8-29 13:43

参考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);
{* 设置级联属性值,不处理异常}




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0