关于获取鼠标下窗体句柄的问题

LWLIFE 2016-05-03 02:07:54
有些窗体是可以正常能过WindowFromPoint或者RealWindowFromPoint获取,有些则不行,PB程序,如下图,

当鼠标点进去后,似乎出现了组合,能看到有个边框,如下图:

还有些文本框,只能获取组合的名称,比如下面的图片:

这些文本框都获取不到,获取到的名称都是组合框,显示的名称是左上角的那个“信息”,获取到的类名都是“pbdw90”,但这些文本框用枚举函数EnumWindows确能枚举出来。

你这样的文本框怎么样才能用获取鼠标下控件句柄的方法获取到,并且发送文字,发送回车事件呢?谢谢。

还有另一个帖子,解决了,分一起给。
http://bbs.csdn.net/topics/391942823
...全文
305 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2016-05-10
  • 打赏
  • 举报
回复
你试试把开始取出的组合框给隐藏掉,可以通过api showWindow来实现,也可以通过发送消息来实现,然后再取当前鼠标所在控件,或许就成功了
LWLIFE 2016-05-05
  • 打赏
  • 举报
回复
引用 3 楼 xiajinxian 的回复:
试试下面的方法 //得到指定位置窗口(不含隐藏对象) l_handle_parent=u_fun.WindowFromPoint(i_x,i_y) il_handle_window=l_handle_parent //转化为相应窗口的坐标 u_fun.ScreenToClient(l_handle_parent,li_point[]) //可以获取隐藏对象 l_handle=u_fun.ChildWindowFromPoint(l_handle_parent,li_point[1],li_point[2]) //无子窗口,则返回主窗口 if l_handle=0 then l_handle=l_handle_parent
ChildWindowFromPoint好像不行,我换的RealChildWindowFromPoint似乎也不行。
A啦Dbit 2016-05-05
  • 打赏
  • 举报
回复
试试下面的方法 //得到指定位置窗口(不含隐藏对象) l_handle_parent=u_fun.WindowFromPoint(i_x,i_y) il_handle_window=l_handle_parent //转化为相应窗口的坐标 u_fun.ScreenToClient(l_handle_parent,li_point[]) //可以获取隐藏对象 l_handle=u_fun.ChildWindowFromPoint(l_handle_parent,li_point[1],li_point[2]) //无子窗口,则返回主窗口 if l_handle=0 then l_handle=l_handle_parent
LWLIFE 2016-05-05
  • 打赏
  • 举报
回复
这个问题没人知道吗?
LWLIFE 2016-05-04
  • 打赏
  • 举报
回复
PB此问题解决不了吗?

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧