本帖最后由 Hen5ei 于 2011-12-13 12:24 编辑
回复 1# xiaochuan #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
Global $jishu = 0
$Form1 = GUICreate('AU3 Good!!', 500, 400, -1, -1, $WS_POPUP)
GUISetBkColor(0x999999)
GUISetFont(11, 400, 0, 'Verdana')
$Label1 = GUICtrlCreateLabel(' AU3 Good!!', 0, 0, 460, 40, $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, 0x666666)
GUICtrlSetColor(-1, 0xEFEFEF)
$Label2 = GUICtrlCreateLabel('×', 460, 0, 40, 40, $SS_CENTER)
GUICtrlSetBkColor(-1, 0x666666)
GUICtrlSetColor(-1, 0xEFEFEF)
GUICtrlSetFont(-1, 20, 400, 0, 'Verdana')
GUISetState(@SW_SHOW)
While 1
If $jishu = 0 Then
If _Hover($Form1, 460, 0, 40, 40) = 1 Then
GUICtrlSetColor($Label2, 0x00FF00)
$jishu = 1
EndIf
Else
If _Hover($Form1, 460, 0, 40, 40) = 0 Then
GUICtrlSetColor($Label2, 0xEFEFEF)
$jishu = 0
EndIf
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Label2
Exit
EndSwitch
WEnd
#cs ____________________________________
; AutoIt 版本: 3.2.11.10 (第一版)
函数名: _Hover()
作 用: 检测鼠标是否位于指定窗口的控件上
用 法: _Hover(窗口句柄,控件相对窗口 X 坐标(左侧), 控件相对窗口 Y 坐标(上方) , 控件宽度 , 控件高度)
窗口句柄设置为""表示使用“当前”窗口。
返回值: 1 表示鼠标位于指定窗口的控件上。
0 表示鼠标没有在指定窗口的控件上。
@error = 10086 获取所指定窗口鼠标信息失败(指定窗口不存在)。
作 者: 漠北雪~狼
#ce ____________________________________
Func _Hover($cH_hWin = "", $Pos_X = 0, $Pos_Y = 0, $Pos_W = 0, $Pos_H = 0)
$cH_Data = GUIGetCursorInfo($cH_hWin)
If Not IsArray($cH_Data) Then Return SetError(10086)
If $cH_Data[0] > $Pos_X And $cH_Data[0] < $Pos_X + $Pos_W And $cH_Data[1] > $Pos_Y And $cH_Data[1] < $Pos_Y + $Pos_H Then
Return 1
Else
Return 0
EndIf
EndFunc ;==>_Hover
|