编程论坛
注册
登录
编程论坛
→
VB6论坛
请问,当窗体 Show 0 时,能否在整个窗体(包含其中的控件)失去焦点时,触发事件?
mansohu
发布于 2016-03-31 17:36, 2226 次点击
也就是说 鼠标点到了窗体以外的东西时(注意,不是窗体失焦,是窗体及其内部控件都没有焦点),能否触发事件?谢谢!
4 回复
#2
chen3523
2016-04-04 15:05
看见你的问题,想起自己当年。无人回复,点击一试,原来如此,求人不如求自己。
#3
mansohu
2016-04-04 16:08
回复 2楼 chen3523
我是个外行,此问题困扰多天,不得要领,还请帮忙指点,多谢多谢!
#4
吹水佬
2016-04-04 16:33
可用WinAPI实现,主要相关API:
SetCapture()
ReleaseCapture()
GetCursorPos()
WindowFromPoint()
思路:
适当时候用 SetCapture() 设置当前窗口接收鼠标消息(包括窗口外边的鼠标消息)。
拦截鼠标按下左键消息。
判断鼠标座标的窗口句柄是否当前窗口句柄。
如果不是就认为是点击当前窗口之外。
#5
mansohu
2016-04-05 09:30
回复 4楼 吹水佬
非常感谢!我回去试一下
1