Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


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

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


Creat0R,

Тут вот набрал часть скрипта
читать дальше »
Код: Выделить весь код
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <AutoItConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Opt("TrayIconDebug", 1)        ;0 - без сведений, 1 - отладочные сведения
Opt("TrayIconHide", 0)        ;0 - отображать, 1 - скрыть
Opt("GUICloseOnESC", 1)        ;0 = При нажатии ESC не высылать сообщение $GUI_EVENT_CLOSE.
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Global $Title = "TEST"
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
GUICreate($Title, 265, 355, -1, -1, $WS_SIZEBOX + $WS_SYSMENU + $WS_MINIMIZEBOX)
$Button2 = GUICtrlCreateButton("DELETE", 70, 260, 120, 22)
$Close = GUICtrlCreateButton("ESC", 70, 300, 120, 22)
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$id1 = GUICtrlCreateCheckbox ("ID 1", 18, 50, -1, -1)
$id2 = GUICtrlCreateCheckbox ("ID 2", 18, 70, -1, -1)
$id3 = GUICtrlCreateCheckbox ("ID 3", 18, 90, -1, -1)
$id4 = GUICtrlCreateCheckbox ("ID 4", 18, 110, -1, -1)
$id5 = GUICtrlCreateCheckbox ("ID 5", 18, 130, -1, -1)
$id6 = GUICtrlCreateCheckbox ("ID 6", 18, 150, -1, -1)
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
GUISetState()
While 1
  $iMsg = GUIGetMsg()
    Switch $iMsg
      Case $Close, $GUI_EVENT_CLOSE
         Exit
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      Case $Button2
            GUISetState(@SW_DISABLE)
               $Ask = MsgBox(256+32+4+262144, "", "TEST", 0)
            If $Ask <> 6 Then
                  For $iID = $id1 To $id6
                  GUICtrlSetState($iID, BitOR($GUI_UNCHECKED, $GUI_ENABLE))
               Next
            GUISetState(@SW_ENABLE)
               If Not WinActive($Title) Then WinActivate($Title)
               Else

               ; 1. Тут проверка на присутствие отмеченных чекбоксов и если хотя бы один не отмечен (т.е. все пустые) то появляется диалог
                     MsgBox(4096+64, "", "UNCHECKED", 1) ;дальнейшее выполнение скрипта прекращается и преходит в режим ожидания.

               ; 2. Если присутствуют отмеченные чекбоксы (все или хотя бы один, то скрипт продолжает выполнять команды ниже


            GUISetState(@SW_HIDE)
                 If _Checked($id1) Then MsgBox(4096+64, "", "id1", 1)
                 If _Checked($id2) Then MsgBox(4096+64, "", "id2", 1)
                 If _Checked($id3) Then MsgBox(4096+64, "", "id3", 1)
                 If _Checked($id4) Then MsgBox(4096+64, "", "id4", 1)
                 If _Checked($id5) Then MsgBox(4096+64, "", "id5", 1)
                 If _Checked($id6) Then MsgBox(4096+64, "", "id6", 1)
               MsgBox(4096+64, "", "END", 1)
            GUISetState(@SW_SHOW)
            GUISetState(@SW_ENABLE)
               For $iID = $id1 To $id6
                  GUICtrlSetState($iID, BitOR($GUI_UNCHECKED, $GUI_ENABLE))
               Next
               If Not WinActive($Title) Then WinActivate($Title)
            EndIf
    EndSwitch
WEnd
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Func _Checked($idControlID)
    Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   ;==>_Checked

в самом скрипте закомментировано что не получается сделать после "Else". Может есть вариант это реализовать ?

Последний раз редактировалось nibble74, 01-05-2016 в 20:54.


Отправлено: 18:20, 01-05-2016 | #10