Имя пользователя:
Пароль:
 

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

Аватара для Creat0R

Must AutoIt


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

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


GuiCtrlSetOnHover() UDF!

Эта функция предназначена для управления элементами при наведении курсора мышки над ними (Hovering Process), используется точно также как и подобные функции GuiCtrlSetOnEvent().

Вот пример, создаёт алфавит из кнопок, когда проводим мышкой по кнопкам, они красятся в красный цвет, также обратите внимание - это будет работать даже если GUI окно не активно, и даже если запущен обычный MsgBox !!! (нажмите на кнопку буквы).

Код: Выделить весь код
#include <GuiCtrlSetOnHover_UDF.au3>
Opt("GuiOnEventMode", 1)

$Btn_Color = 0x7A9DD8
$Hover_Color = 0xFF0000

$GUIMain = GuiCreate("GuiCtrlSetOnHover - Letters Demo", 570, 200)
GUISetOnEvent(-3, "Quit")

GUICtrlCreateLetters(10, 60, 18, 20)

$Close = GuiCtrlCreateButton("Close", 30, 120, 100, 30)
GUICtrlSetOnEvent($Close, "Quit")

GuiSetState()

While 1
    Sleep(100)
WEnd

Func GUICtrlCreateLetters($iLeft, $Top, $Width=15, $Height=15)
    Local $iLeft_Begin = $iLeft
    Local $iAsc_Char = 64
    For $i = 0 To 25
        $iLeft_Begin += 20
        $iAsc_Char += 1
        GUICtrlCreateButton(Chr($iAsc_Char), $iLeft_Begin, $Top, $Width, $Height)
        GUICtrlSetOnEvent(-1, "LetterEvents")
        GUICtrlSetOnHover(-1, "Hover_Func", "Leave_Hover_Func")
        GUICtrlSetBkColor(-1, $Btn_Color)
        GUICtrlSetFont(-1, 6)
    Next
EndFunc

Func LetterEvents()
    MsgBox(64, "Pressed", "Letter = " & GUICtrlRead(@GUI_CtrlId))
EndFunc

Func Hover_Func($CtrlID)
    GUICtrlSetBkColor($CtrlID, $Hover_Color)
EndFunc

Func Leave_Hover_Func($CtrlID)
    GUICtrlSetBkColor($CtrlID, $Btn_Color)
EndFunc

Func Quit()
    Exit
EndFunc
Сам UDF скачать можно тут.
История зарождения функции на оф. форуме .

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:30, 20-11-2007 | #740