我想检测用户是否在我的应用程序内部的非活动窗体上点击了关闭按钮。如何检测鼠标是否悬停在窗体的关闭按钮上,以便在窗体关闭时可以使用该数据?Delphi检测鼠标悬停在窗体的关闭按钮上
1
A
回答
6
您可以发送窗体的窗口WM_NCHITTEST
消息,将鼠标的屏幕坐标传递给lParam
值。如果返回值为HTCLOSE
,则鼠标位于关闭按钮上方。
但是,仅仅因为鼠标位于关闭按钮上并不能保证用户实际上点击了按钮。例如,用户可以在按钮上移动鼠标,然后在键盘上输入Alt + F4,而不是(或Alt +空格键,箭头指向Close
选项,然后按输入,它调用同样的动作作为Alt + F4)。
无论点击关闭按钮,或者使用键盘快捷键,同样WM_CLOSE
消息被发送到窗口(触发窗体的OnCloseQuery
和OnClose
事件),为什么被关闭窗口它不报告。
如果您需要区分,您可以让您的窗体处理窗口消息WM_NCLBUTTONDOWN
/WM_NCLBUTTONUP
和WM_SYSCOMMAND
窗口消息。单击关闭按钮关闭窗口时,WM_CLOSE
前面会有WM_NCLBUTTON...
,wParam
设置为HTCLOSE
。当通过键盘快捷键关闭窗口时,WM_CLOSE
前面会有WM_SYSCOMMAND
,其wParam
设置为SC_CLOSE
。
+0
谢谢你雷米,这是为我工作 –
相关问题
- 1. 鼠标悬停在窗体上吗?
- 2. 用于检测鼠标悬停在URL上的鼠标事件
- 3. 检查悬停时鼠标按键是否关闭?
- 4. MFC鼠标移动/离开,将鼠标悬停在按钮上
- 5. 检测鼠标悬停在Pygame的
- 6. 鼠标悬停在禁用按钮
- 7. Qt的 - INFO按钮与悬停鼠标
- 8. 鼠标悬停式的按钮形式
- 9. 自定义TabBar按钮在鼠标悬停/鼠标悬停时闪烁
- 10. 在windows窗体中的鼠标悬停上显示图像?
- 11. GTK +:鼠标悬停在按钮上时显示标签
- 12. 当鼠标悬停在图标上时,按钮文字模糊
- 13. 图像,鼠标悬停,按钮出现
- 14. 悬停并在鼠标悬停上显示阴影的Web按钮
- 15. C#WinForms trayapp MenuItem鼠标悬停检测
- 16. 将鼠标悬停在按钮上的HTML消息
- 17. 将鼠标悬停在AMP-Pinterest的PinIt按钮上
- 18. 将鼠标悬停在Java中的多个按钮上?
- 19. 将鼠标悬停在每个图像上的按钮
- 20. 将鼠标悬停在gwt中的按钮上显示文本
- 21. 鼠标悬停在按钮上的问题
- 22. 如何检测鼠标悬停在Flash影片上的HTML层?
- 23. IE 7检测到鼠标悬停在div上的CSS问题
- 24. 将鼠标悬停在鼠标上
- 25. 不带系统菜单但带关闭按钮的Delphi窗体
- 26. QScrollBar在鼠标悬停上
- 27. 使用定时器的标题栏上的关闭按钮关闭的Delphi窗体
- 28. Silverlight按钮鼠标悬停喜欢悬停效果
- 29. QUnit鼠标悬停测试
- 30. 在单选按钮更换上鼠标悬停?
我的意思是我的申请表格 –