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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] GUI и трей

Ответить
Настройки темы
[решено] GUI и трей

Новый участник


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

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


Изменения
Автор: Creat0R
Дата: 27-11-2009
Как можно создать GUI, чтобы у него в трее по правому щелчку вылезала менюшка. А по левому востанавливалось ранее свернутое GUI.
Поблема в том, что при включении/выключении TrayOnEventMode работает что то одно (применение TrayItemSetOnEvent обязательно)

Отправлено: 17:41, 10-05-2009

 

Аватара для Creat0R

Must AutoIt


Moderator


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

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


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

Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)

TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "_Tray_Main_Events")
TraySetClick(16)

$ShowMainWindow_TrayItem = TrayCreateItem("Show Main window")
TrayItemSetState(-1, $TRAY_DEFAULT)
TrayItemSetOnEvent(-1, "_Tray_Main_Events")

TrayCreateItem("")

$About_TrayItem = TrayCreateItem("About")
TrayItemSetOnEvent(-1, "_Tray_Main_Events")

$Exit_TrayItem = TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_Tray_Main_Events")

$hGUI = GUICreate("My GUI", 300, 200)
GUISetState(@SW_SHOW, $hGUI)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $GUI_EVENT_MINIMIZE
            GUISetState(@SW_HIDE, $hGUI)
    EndSwitch
WEnd

Func _Tray_Main_Events()
    Switch @TRAY_ID
        Case $TRAY_EVENT_PRIMARYUP, $ShowMainWindow_TrayItem
            GUISetState(@SW_SHOW, $hGUI)
            WinSetState($hGUI, "", @SW_RESTORE)
            WinActivate($hGUI)
        Case $About_TrayItem
            TraySetState(2)
            MsgBox(262144+64, "About", "My App v1.0", 0, $hGUI)
            TraySetState(1)
        Case $Exit_TrayItem
            Exit
    EndSwitch
EndFunc

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

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

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

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community

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

Отправлено: 18:15, 10-05-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Спасибо за оперативность. Кстати ваш код натолкнул на новые решения в моём (оказывается можно сделать проще), так что двойное спасибо.

Отправлено: 18:38, 10-05-2009 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] GUI и трей

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Не работает GUI после выхода другова GUI sashadeg AutoIt 3 15-05-2009 22:03
Разное - [решено] Постоянно висит трей о приобретении поддельного ПО avokado Microsoft Windows 2000/XP 4 23-03-2009 17:27
Интернет - [решено] Языковая панель в трей Malfatto Хочу все знать 3 19-08-2008 19:10
Интерфейс - [решено] Трей начал прыгать n4! Microsoft Windows 2000/XP 6 14-05-2008 23:42
Интерфейс - [решено] Трей Deem Microsoft Windows 2000/XP 2 22-01-2008 13:53




 
Переход