Что нового

[Элементы GUI] Событие при наведении указателя на элемент

Anton

Твори! Пусть завистники твои захлебываются пылью!
Сообщения
69
Репутация
3
Мне нужно что бы когда на элемент наводишь мышкой он менял размер, когда мышку отводишь возвращался в прежнее состояние. То же самое при нажатии мышкой, но при нажатии выполнялось еще и другое действие например вызов функции.

Короче хочу сделать кнопку в виде иконки.
Код:
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>

GUICreate("My GUI Icons", 600, 100,-1,-1,$WS_POPUP)
$icon = GUICtrlCreateIcon ("shell32.dll",10, 20,20,50,50)
GUISetState ()

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend
 

beve

Осваивающий
Сообщения
104
Репутация
30
Anton [?]
Короче хочу сделать кнопку в виде иконки.
Стосовно, того, чтобы кнопка меняла размер, то это нужно рисунки свои делать, один побольше, другой поменьше...
А в остальном, вот тут почитай, вот и маленький пример (библиотеку GUICtrlSetOnHover_UDF.au3 можна скачать по ссылке выше) :
Код:
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>
#include <GUICtrlSetOnHover_UDF.au3>

$PushButtonStatus = 0
GUICreate("My GUI Icons", 600, 100,-1,-1);,$WS_POPUP)
$icon = GUICtrlCreateIcon ("shell32.dll",10, 20,20,50,50)
GUISetState ()

_GUICtrl_SetOnHover(-1, "_Hover_Func", "_Leave_Hover_Func", "_ButtonEvent_Func", "_ButtonEvent_Func", 0, 0)


While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch

    If $PushButtonStatus = 1 Then
        $PushButtonStatus = 0
        MsgBox(0, '', 'Нажато.')
    EndIf
WEnd

Func _ButtonEvent_Func($iCtrlID, $iEvent)
    Switch $iEvent
        ;Case 1
            ;GUICtrlSetImage($iCtrlID, "shell32.dll", 10)
        Case 2
			GUICtrlSetImage($iCtrlID, "shell32.dll", 11)
            $PushButtonStatus = 1
    EndSwitch
EndFunc

Func _Leave_Hover_Func($iCtrlID)
	GUICtrlSetImage($iCtrlID, "shell32.dll",10)
EndFunc

Func _Hover_Func($iCtrlID)
GUICtrlSetImage($iCtrlID, "shell32.dll",11)
EndFunc
 
Автор
A

Anton

Твори! Пусть завистники твои захлебываются пылью!
Сообщения
69
Репутация
3
Автор
A

Anton

Твори! Пусть завистники твои захлебываются пылью!
Сообщения
69
Репутация
3
Спасибо
Плис разъясните, на русском, что делает функция _GUICtrl_SetOnHover(), желательно поподробнее.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 156
Репутация
2 329
Anton [?]
Плис разъясните, на русском, что делает функция _GUICtrl_SetOnHover()
Тебе же дали ссылку на тему этой библиотеки: http://autoit-script.ru/index.php/topic,149.0.html
 
Верх