Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 135
Благодарности: 32

Профиль | Отправить PM | Цитировать


FlatX007,
Можно через
GUIGetCursorInfo
Код: Выделить весь код
#include <GuiConstants.au3>

Global $fLabelMouseOver

$hGui = GUICreate("Test GUIGetCursorInfo", 320, 240)

$CtrlID_Label  = GUICtrlCreateLabel("LabelText",20, 20)
GUICtrlSetFont(-1, 10, Default, 0)

GUISetState()

While 1
    $msg = GUIGetMsg()
    $aCursorInfo = GUIGetCursorInfo($hGui)
    If Not @error Then
        If $aCursorInfo[4] = $CtrlID_Label Then
            If Not $fLabelMouseOver Then
                GUICtrlSetFont($CtrlID_Label, 10, Default, 4)
                $fLabelMouseOver = True
            EndIf
        ElseIf $fLabelMouseOver Then
            GUICtrlSetFont($CtrlID_Label, 10, Default, 0)
            $fLabelMouseOver = False
        EndIf
    EndIf
    Switch $msg
    Case $CtrlID_Label
        ;-----------        
    Case $GUI_EVENT_CLOSE
        Exit
    EndSwitch
WEnd
или
WM_SETCURSOR

Код: Выделить весь код
#include <GuiConstants.au3>
#include <WindowsConstants.au3>

Global $fLabelMouseOver

$hGui = GUICreate("Test WM_SETCURSOR", 320, 240)

$CtrlID_Label = GUICtrlCreateLabel("LabelText", 20, 20)
GUICtrlSetFont(-1, 10, Default, 0)
$hLabel = GUICtrlGetHandle(-1)
GUIRegisterMsg($WM_SETCURSOR, "WM_SETCURSOR")
GUISetState()

While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $CtrlID_Label
        ;-----------    
    Case $GUI_EVENT_CLOSE
        Exit
    EndSwitch
WEnd

Func WM_SETCURSOR($HWnd, $MsgID, $wParam, $lParam)
    Local $iHitTest = BitAND($lParam, 0xFFFF) ;LoWord
    Local $iMouseEvent = BitShift($lParam, 16) ;HiWord
    If $wParam = $hLabel Then
        If Not $fLabelMouseOver Then
            GUICtrlSetFont($CtrlID_Label, 10, Default, 4)
            $fLabelMouseOver = True
        EndIf
    ElseIf $fLabelMouseOver Then
        GUICtrlSetFont($CtrlID_Label, 10, Default, 0)
        $fLabelMouseOver = False
    EndIf
    Return $GUI_RUNDEFMSG
EndFunc


P.S. Возможно, есть и другие способы.

-------
Создатель знает, что достиг совершенства не когда нечего добавить, а когда нечего убрать. - Антуан де Сент-Экзюпери


Отправлено: 04:50, 20-09-2009 | #3