假设有一个包含一些列和一些按钮的Datawindow。如何获得dw中所有按钮的数组(或更好的所有控件)?对于列我可以做
之类的事情ll_cnt = Long(this.dw_1.object.datawindow.column.count)
for i = 1 to ll_cnt
lsa_colname[upperbound(lsa_colname)+1] = this.dw_1.Describe( "#" + String(i) + ".Name" )
lsa_coltype[upperbound(lsa_coltype)+1] = this.dw_1.Describe( "#" + String(i) + ".ColType" )
lsa_edittype[upperbound(lsa_edittype)+1] = this.dw_1.Describe( "#" + String(i) + ".Edit.Style" )
NEXT
其他控件是否有类似的方式?
我正在使用PB12.6
非常感谢。
答案 0 :(得分:1)
获取数据窗口中的所有对象使用此
<DW Control Name>.Object.DataWindow.Objects
或
<DW Control Name>.Describe("DataWindow.Objects")
都返回所有对象的TAB分隔列表。
例如。 emp_name~temp_street~tlabel_emp_name~tlabel_emp_street
从那里开始,您可以从返回的字符串中提取所有对象的名称。要获取对象的类型,请使用
<DW Control Name>.Describe("<objectname>.Type")
例如
dw_1.Describe("emp_name.Type")
如果你在编码过程中不知道对象名,那么点符号在这里不起作用。
对于PB8及更高版本(可能是PB7,但我只知道PB8及以上版本),您可以在IDE中单击“新建”,然后从打开的窗口中选择工具,而不是数据窗口语法。然后,您将获得所有可能的dw属性,其语法为描述/修改和点符号