#include <GuiConstantsEx.au3> ; Opt("TrayMenuMode", 1) Opt("TrayOnEventMode", 1) TraySetClick(16) $Func_1_TrayItem = TrayCreateItem("Функция №1") $Func_2_TrayItem = TrayCreateItem("Функция №2") $Func_3_TrayItem = TrayCreateItem("Функция №3") TrayCreateItem("") $Exit_TrayItem = TrayCreateItem("Exit") For $iItem = $Func_1_TrayItem To $Exit_TrayItem TrayItemSetOnEvent($iItem, "_Tray_Events") Next While 1 Sleep(100) WEnd Func _Tray_Events() Switch @TRAY_ID Case $Exit_TrayItem Exit Case $Func_1_TrayItem Call("_GUI_Func_1") Case $Func_2_TrayItem Call("_GUI_Func_2") Case $Func_3_TrayItem Call("_GUI_Func_3") EndSwitch EndFunc Func _GUI_Func_1() Local $hGUI, $nButton TraySetState(2) $hGUI = GUICreate("Функция №1", 300, 120) $nButton = GUICtrlCreateButton("Кнопка", 20, 40, 60, 20) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $nButton MsgBox(64, "Инфо", "Вы нажали Кнопку.", 0, $hGUI) EndSwitch WEnd TraySetState(1) GUIDelete($hGUI) EndFunc Func _GUI_Func_2() Local $hGUI, $nCheckbox, $sCheckbox_Data TraySetState(2) $hGUI = GUICreate("Функция №2", 300, 120) $nCheckbox = GUICtrlCreateCheckbox("Галочка", 20, 40, 60, 20) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $nCheckbox $sCheckbox_Data = "Вы сняли отметку с галочки." If GUICtrlRead($nCheckbox) = $GUI_CHECKED Then $sCheckbox_Data = "Вы поставили отметку на галочке." MsgBox(64, "Инфо", $sCheckbox_Data, 0, $hGUI) EndSwitch WEnd TraySetState(1) GUIDelete($hGUI) EndFunc Func _GUI_Func_3() Local $hGUI, $nButton, $nInput TraySetState(2) $hGUI = GUICreate("Функция №3", 300, 120) $nInput = GUICtrlCreateInput("Строка", 20, 10, 260, 20) $nButton = GUICtrlCreateButton("Показать ввод", 20, 40, 120, 20) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $nButton MsgBox(64, "Инфо", "Вы ввели: " & GUICtrlRead($nInput), 0, $hGUI) EndSwitch WEnd TraySetState(1) GUIDelete($hGUI) EndFunc |