鼠标移入移出捕获事件

易语言 2020-08-18 18:42:47

鼠标移入移出捕获事件

.如果真 (临时句柄 ≠ hWnd) ' 确定只程序执行一次,这样可以防止程序多次运行,大大的提高了运行效率。
临时句柄 = hWnd
.计次循环首 (个数, i)
.如果真 (移入移出事件 [i].句柄 = hWnd)
' 鼠标移入移出事件 (hWnd, 移入移出事件 [i].移入事件, 移入移出事件 [i].移出事件)
nTmp = i
跳出循环 ()
.如果真结束

.计次循环尾 ()
.如果真结束
.如果真 (uMsg = 512)
鼠标移入移出事件 (hWnd, 移入移出事件 [nTmp].移入事件, 移入移出事件 [nTmp].移出事件)
返回 (1)
.如果真结束
返回 (CallWindowProcA (移入移出事件 [nTmp].消息钩子句柄, hWnd, uMsg, wParam, lParam))

.子程序 鼠标_添加鼠标移入移出事件, , 公开, 添加鼠标移入移出事件
.参数 句柄, , , 指定控件句柄可以是任何组件
.参数 移入事件, 子程序指针
.参数 移出事件, 子程序指针

zTmp.句柄 = 句柄
zTmp.移入事件 = 移入事件
zTmp.移出事件 = 移出事件
zTmp.消息钩子句柄 = SetWindowLongA (句柄, -4, 到整数 (&消息钩子回调))
加入成员 (移入移出事件, zTmp)