Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Обработка событий мышки (http://forum.oszone.net/showthread.php?t=286551)

replerk1334 15-08-2014 17:21 2389815

Обработка событий мышки
 
Здравствуйте !
Как указать событие изображению чтобы при нажатии или наведении курсора выполнялась смена того самого изображения на другое указанное изображение ?

madmasles 15-08-2014 18:03 2389831

Цитата:

Цитата replerk1334
Как указать событие изображению »

Что это за изображение?

replerk1334 15-08-2014 18:30 2389846

madmasles, в качестве изображения использую стандартную иконку в формате .ico .

madmasles 15-08-2014 19:18 2389862

replerk1334,
Пример:
читать дальше »
Код:

#include <GUIConstantsEx.au3>

Global $hGui, $iIcoClick, $iIcoHover, $iHover, $aInfo

$hGui = GUICreate('Test', 160, 112)
GUICtrlCreateLabel('Click', 32, 20, 32, 17)
GUICtrlCreateLabel('Hover', 96, 20, 32, 17)
$iIcoClick = GUICtrlCreateIcon('shell32.dll', __Random(), 32, 40, 32, 32)
GUICtrlSetCursor(-1, 0)
$iIcoHover = GUICtrlCreateIcon('shell32.dll', __Random(), 96, 40, 32, 32)
GUICtrlSetCursor(-1, 0)
GUISetState()
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $iIcoClick
            GUICtrlSetImage($iIcoClick, 'shell32.dll', __Random())
        Case $GUI_EVENT_MOUSEMOVE
            $aInfo = GUIGetCursorInfo()
            If @error Then ContinueLoop
            Switch $aInfo[4]
                Case $iIcoHover
                    If Not $iHover Then
                        GUICtrlSetImage($iIcoHover, 'shell32.dll', __Random())
                        $iHover = 1
                    EndIf
                Case Else
                    If $iHover Then $iHover = 0
            EndSwitch
    EndSwitch
WEnd

Func __Random()
    Local Static $i__OldRand = -1
    Local $i_Min = 5, $i_Max = 25, $i_Rand = $i__OldRand

    While $i_Rand = $i__OldRand
        $i_Rand = Random($i_Min, $i_Max, 1)
    WEnd
    $i__OldRand = $i_Rand
    Return $i_Rand
EndFunc  ;==>__Random


replerk1334 15-08-2014 20:07 2389882

madmasles, спасибо !!!


Время: 07:26.

Время: 07:26.
© OSzone.net 2001-