怎么准确判断,当前鼠标指针是否在自己程序的窗体内(注:如果程序的窗体上层有其它窗体,则无需处理)

Lo 2002-05-14 12:41:22
怎么准确判断,当前鼠标指针是否在自己程序的窗体内(注:如果程序的窗体上层有其它窗体,则无需处理)
...全文
41 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2002-05-14
  • 打赏
  • 举报
回复
考虑到程序可能会调用一些系统的对话框(如打开/保存文件对话框),
更正如下:

HWND hWnd = WindowFromPoint(Mouse->CursorPos);
while(1) {
HWND hParent = GetParent(hWnd);
if (hParent==NULL) break;
hWnd = hParent;
}
for(int n=0; n<Screen->FormCount; n++) {
if (hWnd==Screen->Forms[n]->Handle) {
ShowMessage("当前鼠标指针在程序的窗体内");
break;
}
}
jishiping 2002-05-14
  • 打赏
  • 举报
回复
HWND hWnd = WindowFromPoint(Mouse->CursorPos);
for(int n=0; n<Screen->FormCount; n++) {
if (hWnd==Screen->Forms[n]->Handle) {
ShowMessage("当前鼠标指针在程序的窗体内");
break;
}
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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