JaguarSP
23-04-2010, 12:08
что нужно сделать чтобы в функции проверялось нажата ли кнопка свертывания в трее, уже все передумал =( вот func:
Func _Timer()
$iOld_Opt = Opt("GUIOnEventMode", 1)
GUICtrlSetOnEvent($cancel, "_Main_Events")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Main_Events")
For $Start = $pas To 0 Step -1
Select
Case $Start >= 7
GUICtrlSetColor($Label1, 0x00FF00)
GUICtrlSetData($Label1, $Start)
Case $Start > 3
GUICtrlSetColor($Label1, 0xFF8000)
GUICtrlSetData($Label1, $Start)
Case $Start >= 0
GUICtrlSetColor($Label1, 0xFF0000)
GUICtrlSetData($Label1, $Start)
EndSelect
If $iStop Then
MsgBox(64, 'Atention', 'Таймер остановлен! Выход из программы.')
$iStop = 1
ExitLoop
EndIf
Sleep(1000)
Next
Return
EndFunc
И вот скрипт сварачивания в трее:
#NoTrayIcon
#include <GUIConstantsEx.au3>
;
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
$hGUI = GUICreate("Пример в трей", 300, 200)
$RestoreItem = TrayCreateItem("Восстановить.")
TrayItemSetOnEvent(-1, "_RestoreFromTray_Proc")
TraySetOnEvent(-13, "_RestoreFromTray_Proc")
TraySetClick(1)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
ExitLoop
Case -4
GUISetState(@SW_HIDE)
TraySetState(1)
EndSwitch
WEnd
Func _RestoreFromTray_Proc()
If BitAND(WinGetState($hGUI), 2) = 2 Then Return
TraySetState(2)
GUISetState(@SW_SHOW)
GUISetState(@SW_RESTORE)
EndFunc
Func _Timer()
$iOld_Opt = Opt("GUIOnEventMode", 1)
GUICtrlSetOnEvent($cancel, "_Main_Events")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Main_Events")
For $Start = $pas To 0 Step -1
Select
Case $Start >= 7
GUICtrlSetColor($Label1, 0x00FF00)
GUICtrlSetData($Label1, $Start)
Case $Start > 3
GUICtrlSetColor($Label1, 0xFF8000)
GUICtrlSetData($Label1, $Start)
Case $Start >= 0
GUICtrlSetColor($Label1, 0xFF0000)
GUICtrlSetData($Label1, $Start)
EndSelect
If $iStop Then
MsgBox(64, 'Atention', 'Таймер остановлен! Выход из программы.')
$iStop = 1
ExitLoop
EndIf
Sleep(1000)
Next
Return
EndFunc
И вот скрипт сварачивания в трее:
#NoTrayIcon
#include <GUIConstantsEx.au3>
;
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
$hGUI = GUICreate("Пример в трей", 300, 200)
$RestoreItem = TrayCreateItem("Восстановить.")
TrayItemSetOnEvent(-1, "_RestoreFromTray_Proc")
TraySetOnEvent(-13, "_RestoreFromTray_Proc")
TraySetClick(1)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
ExitLoop
Case -4
GUISetState(@SW_HIDE)
TraySetState(1)
EndSwitch
WEnd
Func _RestoreFromTray_Proc()
If BitAND(WinGetState($hGUI), 2) = 2 Then Return
TraySetState(2)
GUISetState(@SW_SHOW)
GUISetState(@SW_RESTORE)
EndFunc