crashtuak
09-08-2009, 17:40
Ну хотел реализовать событие про наведении курсора на объект, и событие при снятии курсора с объекта. Вот код:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 443, 193, 125)
$Label1 = GUICtrlCreateLabel("Label1", 64, 48, 36, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $doo
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$mousee = MouseEvent_OnEnter_OnLeave($Label1)
Switch $mousee
Case 1
MsgBox(0,"Title","Mouse entered")
Case 0
MsgBox(0,"Title","Mouse leaved")
EndSwitch
WEnd
Func MouseEvent_OnEnter_OnLeave($hwnd)
Local $array
Local $retvaluee
$array = GUIGetCursorInfo()
If $array[4] = $hwnd Then
$doo = 1
EndIf
If $doo = 1 Then
If $array[4] = $hwnd Then
$doo = 0
$retvaluee = 1
EndIf
EndIf
If $doo = 1 Then
If $array[4] <> $hwnd Then
$doo = 0
$retvaluee = 0
EndIf
EndIf
return $retvaluee
EndFunc
Получился такой себе мониторчик :), который показывает, курсор над нашим объектом, или нет :). Кто знает как сделать, чтоб события обрабатывались именно тогда, когда нужно?
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 443, 193, 125)
$Label1 = GUICtrlCreateLabel("Label1", 64, 48, 36, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $doo
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$mousee = MouseEvent_OnEnter_OnLeave($Label1)
Switch $mousee
Case 1
MsgBox(0,"Title","Mouse entered")
Case 0
MsgBox(0,"Title","Mouse leaved")
EndSwitch
WEnd
Func MouseEvent_OnEnter_OnLeave($hwnd)
Local $array
Local $retvaluee
$array = GUIGetCursorInfo()
If $array[4] = $hwnd Then
$doo = 1
EndIf
If $doo = 1 Then
If $array[4] = $hwnd Then
$doo = 0
$retvaluee = 1
EndIf
EndIf
If $doo = 1 Then
If $array[4] <> $hwnd Then
$doo = 0
$retvaluee = 0
EndIf
EndIf
return $retvaluee
EndFunc
Получился такой себе мониторчик :), который показывает, курсор над нашим объектом, или нет :). Кто знает как сделать, чтоб события обрабатывались именно тогда, когда нужно?