-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
speechless |
10-05-2009 17:41 1114991 |
[решено] GUI и трей
Как можно создать GUI, чтобы у него в трее по правому щелчку вылезала менюшка. А по левому востанавливалось ранее свернутое GUI.
Поблема в том, что при включении/выключении TrayOnEventMode работает что то одно (применение TrayItemSetOnEvent обязательно)
|
Код:
#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
|
speechless |
10-05-2009 18:38 1115014 |
Спасибо за оперативность. Кстати ваш код натолкнул на новые решения в моём (оказывается можно сделать проще), так что двойное спасибо. :up
|
Время: 01:07.
© OSzone.net 2001-