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

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

Аватара для Creat0R

Must AutoIt


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

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


Давно искал способ сделать “плавающее окошко”, чтобы ещё при “плавании” , перемещалось хаотично по экрану. Когда ещё только начинал разбирать гуи в AutoIt'е, думал это не реально, и забросил эту затею, но вот тут ни с того ни с сего, я вдруг вспомнил об этом, и решил попробовать реализовать (всё же знании уже побольше), и, реализовал! (довольно без проблем, и быстро)...

Вот Пример:

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

;Создаём стильны гуи для показа ;-)
GUICreate("Fading GUI", 200, 100, -1, -1, $WS_POPUP+$WS_DLGFRAME, $WS_EX_CLIENTEDGE+$WS_EX_TOPMOST)
GUISetOnEvent(-3, "ExitScript")
GUISetBkColor(0xC1C9FD)
;Активируем гуи в скрытом режиме, в целях избежания мерцания окна при первом запуске
GUISetState(@SW_HIDE)
;Устанавливаем самый высокий уровень (0) прозрачности окна гуи
WinSetTrans("Fading GUI", "", 0)
;Показываем обратно гуи в невидемом состоянии (100 % прозрачности)
GUISetState(@SW_SHOW)

$Close = GUICtrlCreateButton("Close", 70, 40, 60, 20)
GUICtrlSetOnEvent(-1, "ExitScript")

;Включаем функцию утухания и перемещения окна каждые 100 м"с
AdlibEnable("GUIFad", 100)
While 1
    Sleep(10)
WEnd

Func GUIFad()
    ;Задаём интервал исчезновения окна и проходимся по нему
    For $i = 0 To 255
        Sleep(10)
        WinSetTrans("Fading GUI", "", $i)
    Next
    Sleep(50)
    ;Задаём интервал появления окна и проходимся по нему (в обратном порядке)
    For $j = 255 To 0 Step -1
        Sleep(10)
        WinSetTrans("Fading GUI", "", $j)
    Next
    ;Двигаем окно в хаотичном порядке (хм, парадокс получается ;) ), в соответствии с координатами разрешения экрана
    WinMove("Fading GUI", "", Random(0, @DesktopWidth-200), Random(0, @DesktopHeight-200))
EndFunc

Func ExitScript()
    Exit
EndFunc
Очень подходит если нужно сделать своего рода призентацию, или просто слайдшоу картинок или ещё чего нибудь .

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

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

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


Отправлено: 21:47, 24-01-2007 | #167