我要再dw的cilick事件中写
if 鼠标按下弹起 then
....... 不知可行否 改怎么写,我找了好多地方都没有资料,现在网上pb资料太少了
我知道可以自定义事件调用 pbm_lbuttondown ,但是我要用到dwo.name pbm_lbuttondown里又不能用dwo
在此请教各位了 谢谢
最后50分 没了
------解决方案--------------------
DWObject dwobjectvar
dwobjectvar = dwcontrol.Object.dwcontrolname
这样就取到dwo对象了,传到自定义函数里
------解决方案--------------------
左键按下用pbm_lbuttondown事件,事件里面没有dwo,但是可以通过以下方式获取dwo
- C/C++ code
string ls_collong rowls_col = getobjectatpointer()if lower(left(getbandatpointer(),6)) <> 'detail' then returnif ls_col = 'datawindow' then returnrow = long(mid(ls_col, pos(ls_col, "~t") + 1)) //取得单击的行号ls_col = trim(left(ls_col, pos(ls_col, "~t") - 1)) //取得单击的列名dwobject dwodwo = this.object.__get_attribute(ls_col, true) //取得列对应的dwo
------解决方案--------------------
如果你要动态的取dwo 也行用__get_attribute函数可以取到dwo
dwobject ldwo_use,ldwo_name
ldwo_use = dw_1.object
ldwo_name = ldwo_use.__get_attribute('name',false)
------解决方案--------------------
__get_attribute是pb未公开的函数,在Pb7里的browse可以查看到
------解决方案--------------------
------解决方案--------------------
也可以用楼上的方法做到,本来是要写的,楼上已经写得很清楚了
GetObjectAtPointer ( )取到对象名称,然后用describe可以取到属性,用getitem系列函数可以取到值。
------解决方案--------------------
我只是给了个用法而已,还是偶没说清楚。
授人以鱼不如授人以渔