请问ChildWindowFromPoint为什么总返回的不是子窗口的句柄呢?

superzrb 2003-05-02 06:14:11
case WM_MOUSEMOVE:
pt.x = LOWORD(lParam);
pt.y = HIWORD(lParam);
hwnd = ChildWindowFromPoint(hwndDlg,pt);
return TRUE;
case WM_TIMER:
//GetWindowText(hwnd,aa,100);
wsprintf(aa,"%d",hwnd);
SendDlgItemMessage(hwndDlg,IDC_EDIT1,WM_SETTEXT,0,(LPARAM)aa);
break;

结果发现在对话框中显示的都是父窗口的句柄,而子窗口的句柄取不出来,怎么回事呢?那ChildWindowFromPoint和csdn上说的就不一样了。
...全文
163 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
foronlyyou 2003-05-26
  • 打赏
  • 举报
回复
有机会多交流
QQ:49821853
superzrb 2003-05-04
  • 打赏
  • 举报
回复
怎么没人回答呢?
superzrb 2003-05-02
  • 打赏
  • 举报
回复
在对话框中,鼠标移到子窗口上时,主窗口不会再响应WM_MOUSEMOVE消息

你说的方法并不能够得到“鼠标移到子窗口上时”的坐标呀。

应该怎么解决这个问题呢?换一种问法:ChildWindowFromPoint函数怎么用?
shilong 2003-05-02
  • 打赏
  • 举报
回复
不是对话框也会有同样的问题
SetCapture();
记得在适当的时候ReleaseCapture();
superzrb 2003-05-02
  • 打赏
  • 举报
回复
我用的是对话框,如果不是对话框就没有这个问题吗?
如果是对话框,怎么能够得到鼠标移到子窗口上时的坐标呢?
shilong 2003-05-02
  • 打赏
  • 举报
回复
不知道你的代码放在哪儿,但一般会是因下面两个问题:
1.窗口坐标必须转换成屏幕坐标
2.在对话框中,鼠标移到子窗口上时,主窗口不会再响应WM_MOUSEMOVE消息

15,980

社区成员

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

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