读书人

怎么判断鼠标按下弹起

发布时间: 2012-02-24 16:30:39 作者: rapoo

如何判断鼠标按下弹起
我要再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可以查看到
[解决办法]

探讨
左键按下用pbm_lbuttondown事件,事件里面没有dwo,但是可以通过以下方式获取dwo

C/C++ code
string ls_col
long row
ls_col = getobjectatpointer()
if lower(left(getbandatpointer(),6)) <> 'detail' then return
if ls_col = 'dataw……

[解决办法]
也可以用楼上的方法做到,本来是要写的,楼上已经写得很清楚了
GetObjectAtPointer ( )取到对象名称,然后用describe可以取到属性,用getitem系列函数可以取到值。
[解决办法]
我只是给了个用法而已,还是偶没说清楚。

授人以鱼不如授人以渔

读书人网 >PB

热点推荐