当前位置: 代码迷 >> PB >> powerbuilder 控件句柄转换,求教!该如何处理
  详细解决方案

powerbuilder 控件句柄转换,求教!该如何处理

热度:1107   发布时间:2016-04-29 10:42:40.0
powerbuilder 控件句柄转换,求教!!
问题:
 比如我通过handle取得了一个button的句柄。
 那么我能否根据这个句柄的值,又反操作还原这个控件呢?

------解决方案--------------------
在控件未被注销的时候,是可以的,但是无法一步到位,只能通过遍历窗口内的控件,然后匹配控件的handle

------解决方案--------------------
给你这么一个函数:
C/C++ code
global function powerobject f_getobject (powerobject ap, long al_handle);powerobject lpoif not isvalid(ap) then return lpolong ichoose case typeof(ap)    case window! //窗口可以有子控件        window lw        lw = ap        for i = 1 to upperbound(lw.control)            lpo = f_getobject(lw.control[i], al_handle)            if isvalid(lpo) then return lpo        next    case tab! //标签页可以有子控件        tab ltb        ltb = ap        for i = 1 to upperbound(ltb.control)            lpo = f_getobject(ltb.control[i], al_handle)            if isvalid(lpo) then return lpo        next    case userobject! //用户自定义对象可以有子控件        userobject luo        luo = ap        for i = 1 to upperbound(luo.control)            lpo = f_getobject(luo.control[i], al_handle)            if isvalid(lpo) then return lpo        next    case else //其他没有子对象        if handle(ap) = al_handle then return apend choosereturn lpoend function
  相关解决方案