xuanfeng1234567 发表于 2010-12-28 17:21:42

【已解决】如何让鼠标划过指定控件,执行相应的操作!

本帖最后由 xuanfeng1234567 于 2010-12-30 12:52 编辑


如上图迅雷七的效果,当我鼠标放在迅雷的悬浮窗上时,就会自动弹出一个提示“下载优先”的提示窗。像这样的效果需要怎么做? 我需要的是当鼠标放在GUI窗体上时,执行一个操作!

ahphsautoit 发表于 2010-12-28 17:24:51

GUIGetCursorInfo可以获取鼠标经过的控件ID。检测到鼠标经过时,执行你的自定义函数。

蜘蛛抱蛋 发表于 2010-12-28 17:40:39

是鼠标悬停吗?见水木子的大作

飘云 发表于 2010-12-28 18:18:44

看看GUIGetCursorInfo函数的函数示例,可以实时监控鼠标位置和GUI窗口位置以及尺寸,然后判断鼠标是否在窗体内,有需要的话还能判断窗体是否处于活动状态,然后条件符合则执行你定义的函数

mo_shaojie 发表于 2010-12-28 18:57:39

学习了.没试下

xuanfeng1234567 发表于 2010-12-28 23:43:16

那请问如何确定鼠标是在该GUI窗体上呢! 小弟愚笨,大大们能否举例指导!万分感谢!

netegg 发表于 2010-12-29 03:28:31

mousehover?有函数

xuanfeng1234567 发表于 2010-12-29 11:41:22

回复 7# netegg
mousehover?? 不明白什么意思喉!

ahphsautoit 发表于 2010-12-29 11:46:50

那请问如何确定鼠标是在该GUI窗体上呢! 小弟愚笨,大大们能否举例指导!万分感谢!
xuanfeng1234567 发表于 2010-12-28 23:43 http://www.autoitx.com/images/common/back.gif

命令我记不到那么多,我自己写程序都随时看帮助的哈。
大致你可以这样:
if用GUIGetCursorInfo检测鼠标在你所指定的控件上 and你的窗口处于激活then
_____自定义函数或某些操作
endif

zw196512 发表于 2010-12-29 11:52:10

学习学习!{:face (303):}

netegg 发表于 2010-12-29 12:17:05

回复 8# xuanfeng1234567

具体的我也表达不大清楚,hot应该知道吧,hover大体是划过的状态

5i5wei 发表于 2010-12-29 14:03:24

mousehover

这个可以实现

xuanfeng1234567 发表于 2010-12-29 15:06:20

mousehover   我怎么搜索不到呢?

飘云 发表于 2010-12-29 16:18:07

本帖最后由 飘云 于 2010-12-29 17:20 编辑

回复 1# xuanfeng1234567


很粗糙很简陋,我的思路就是这样,具体自己改进吧


#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#NoTrayIcon
Opt("GUIOnEventMode",1)
$main = GUICreate("鼠标检测-Esc键退出窗口",300,300,-1,-1,BitOR($WS_POPUP,$WS_BORDER))
$Label = GUICtrlCreateLabel("",100,100,150,17)
$minfo = GUICtrlCreateLabel("",100,130,150,17)
GUISetOnEvent($GUI_EVENT_CLOSE, "main")
GUISetState()

While 1
        Sleep(100)
        $mpos = MouseGetPos()
        $wpos = WinGetPos($main)
        If $mpos>=$wpos And $mpos<=($wpos+$wpos) And $mpos>=$wpos And $mpos<=($wpos+$wpos) And WinActive($main) Then
                GUICtrlSetData($Label,"鼠标在窗口内")
        Else
                GUICtrlSetData($Label,"鼠标不在窗口内")
        EndIf
        GUICtrlSetData($minfo,"鼠标x:"&$mpos&"鼠标y:"&$mpos)
WEnd

Func main()
        Switch @GUI_CtrlId
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
EndFunc

xuanfeng1234567 发表于 2010-12-29 17:49:06

回复 14# 飘云

非常感谢您的代码!非常漂亮我很喜欢。受用受用!   仔细研究! 谢谢!
页: [1] 2 3
查看完整版本: 【已解决】如何让鼠标划过指定控件,执行相应的操作!