Что нового

Невозможно выполнить прерывание рабочей функции через GUI

shakur

Осваивающий
Сообщения
76
Репутация
24
Re: Помогите разобраться где у меня ошибка в GUI

так вроде работает:smile:

Код:
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)

#include <GUIConstantsEx.au3>
#include <ScreenCapturemy.au3>
#include <Date.au3>
#include <IE.au3>


Opt("TrayMenuMode",1)
Global $start = 0 ;переменные
$About = TrayCreateItem("О программе")
TrayCreateItem('')
$Exit = TrayCreateItem("Выход")

;;;;;;;;;;;;;;;;;;;;;;;;1 форма;;;;;;;;;;;;;;;;;;;;;;;;
$Form1 = GUICreate("Главное меню", 160, 120)
GUISetBkColor(0x000000)

$Button_RUN = GUICtrlCreateButton("Запуск", 30, 30, 100)
GUISetState (@SW_SHOW,$Form1)

$Button_about = GUICtrlCreateButton("О программе", 30, 60, 100)
;;;;;;;;;;;;;;;;;;;;;;конец формы;;;;;;;;;;;;;;;;;;;;;;




;;;;;;;;;;;;;;;;;;;;;;;;2 форма;;;;;;;;;;;;;;;;;;;;;;;;
$Form2 = GUICreate("запущен", 160, 80)
GUISetBkColor(0x000000)
$Button_STOP = GUICtrlCreateButton("Остановить", 30, 30, 100)
;;;;;;;;;;;;;;;;;;;;;;конец формы;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;3 форма;;;;;;;;;;;;;;;;;;;;;;;;
$Form3 = GUICreate("about", 160, 130)
GUISetBkColor(0x000000)
$Label1 = GUICtrlCreateLabel("Created by 4444", 35, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label2 = GUICtrlCreateLabel("ICQ 4444", 50, 30)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label3 = GUICtrlCreateLabel("специально для", 40, 50)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label_LINK = GUICtrlCreateLabel("site.ru", 55, 70)
GUICtrlSetColor(-1, 0x0033FF)
$Button_OK = GUICtrlCreateButton("OK", 30, 90, 100)
;;;;;;;;;;;;;;;;;;;;;;;конец формы;;;;;;;;;;;;;;;;;;;;;

$sPath = @ScriptDir & "\Скриншоты"
DirCreate($sPath)

While 1
 $nMsg = GUIGetMsg()
    $msgTray = TrayGetMsg()
        Select
            Case $nMsg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $nMsg = $Button_about
                aboutON()
            Case $nMsg = $Button_OK
                aboutOFF()
            Case $nMsg = $Button_RUN
                start()
            Case $nMsg = $Button_STOP
                stop()
            Case $nMsg = $Label_LINK
                _IECreate ("http://site.ru/", 1, 1, 0)
            Case $msgTray = $About
            MsgBox(0, 'О программе', "Created by 4444"&@LF&@LF&"ICQ 4444")
            Case $msgTray = $Exit
            Exit
        EndSelect

If $start = 1 Then
screen()

For $i = 1 to 50  
 if not GUIGetMsg() then 
	 sleep(100)
 else
	 $start = 0
	 ExitLoop
EndIf	 
Next 

EndIf

If $start = 0 Then
EndIf

WEnd

Func start() ; функция включения
      $start = 1
      GUISetState (@SW_HIDE,$Form1)
	  GUISetState (@SW_SHOW,$Form2)
EndFunc   ;==>start

Func stop() ; функция выключения
      $start = 0
      GUISetState (@SW_HIDE,$Form2)
	  GUISetState (@SW_SHOW,$Form1)
  EndFunc   ;==>stop

Func aboutON() ; функция включения about
      GUISetState (@SW_HIDE,$Form1)
      GUISetState (@SW_SHOW,$Form3)
  EndFunc   ;==>stop

  Func aboutOFF() ; функция выключения about
      GUISetState (@SW_HIDE,$Form3)
      GUISetState (@SW_SHOW,$Form1)
  EndFunc   ;==>stop


Func screen() ; функция скриншота
$sFile = $sPath & "\Screen_Capture_" & StringReplace(_Now(), ":", ";")
   _ScreenCapture_Capture($sFile & ".jpg")
EndFunc
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Помогите разобраться где у меня ошибка в GUI

MadDog [?]
Проблема заключается в следующем.
в теме как раз таки стоит вкратце указать проблему. а пока

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Как правильно называть темы

"Помогите разобраться где у меня ошибка в GUI" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, Модератор раздела.
 
Автор
MadDog

MadDog

Новичок
Сообщения
26
Репутация
0
Re: Невозможно выполнить прерывание рабочей функции. Помогите решить проблему

УДАЛИТЕ ПОЖАЛУЙСТА
 
Верх