如何在鼠标点找到MFC控件的手柄,但位于其他控件下
How to find handle to a mfc control at mouse point but lie under other control?
我想在鼠标结束时找到控制手柄,但仅在上面找到控件(使用WindowFromPoint
,ChildWindowFromPoint
,等不起作用)。
任何建议?
您可以使用 GetNextWindow
win32 api呼叫来检索Z-order的下一个窗口,该窗口位于此下方。
算法可能是这样的:
- 获得
HWND hwnd = ChildWindowFromPoint(hwndParent, point);
的初始窗口 - 如果
hwnd
被寻找窗口,请停止 -
hwnd = GetNextWindow(hwnd, GW_HWNDNEXT);
- 如果
hwnd
包含point
,请转到2 - 否则转到3。
另一种方式 - 只需在对话框上枚举所有控件或查看,将其矩形和手柄存储在某些容器中,然后手动检查点。
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 在编译时,C++项目抛出错误 C2228,这是预期的,因为控件在运行时未达到该点
- 如何更改窗体上所有控件的标题?[C++生成器]
- 双击更改 mfc 中列表控件中的行的颜色
- 派生的 wxPanel 控件如何访问其中包含 wxDialog 中的数据?
- 如何从代码本身向 wxwidgets 中的文本控件插入字符?
- 如何在MFC中的静态文本控件上插入图标?
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 如何在Qt C++中向自定义控件添加属性?
- C/C++ 检测双击 TVItem 的常用控件
- 从C++标头中导入常量而不是硬编码它们:扩展 .net 控件?
- 控件不会在选择函数旁边移动
- 通过屏蔽 UI 中的所有其他控件,在 UWP 应用 (c++) 中的现有 MainPage.xaml 顶部显示进度条
- 如何在鼠标点找到MFC控件的手柄,但位于其他控件下
- 如何防止基于 MFC 对话框的应用在 ESC 键后关闭,但允许其他控件处理它
- 查找控件相对于其父窗口的位置的最佳方法是什么?
- 如何使图片适合于一个静态控件vc++ win32
- wxWidgets:正确地制作一个包含其他控件的用户控件
- 如何使一个线程在MFC中移动滑块控件相对于正在播放的音频文件