Есть некая форма, содержащая несколько закладок (Tab). На любой закладке есть несколько запросов (input, combo, кнопки) и кнопка старта. После нажатия на последнюю я в скрипте через $GUI_DISABLE прячу все видимые запросы, но не могу спрятать другие закладки. Как это сделать?
Ниже пример условного (но работающего) скрипта. Если нажать "Начать работу" на первой закладке, то все выпадающие списки, строки для ввода текста и кнопки будут закрыты от нажатия, но вторая закладка при этом доступна. А если переключиться на нее во время работы на форме начинается хаос. Надо как-то запретить переключение закладок во время работы скрипта.
Заранее большое спасибо тем, кто сможет помочь.
Ниже пример условного (но работающего) скрипта. Если нажать "Начать работу" на первой закладке, то все выпадающие списки, строки для ввода текста и кнопки будут закрыты от нажатия, но вторая закладка при этом доступна. А если переключиться на нее во время работы на форме начинается хаос. Надо как-то запретить переключение закладок во время работы скрипта.
Код:
#region Header
#include "ButtonConstants.au3"
#include "ComboConstants.au3"
#include "EditConstants.au3"
#include "StaticConstants.au3"
#include "TabConstants.au3"
#include "WindowsConstants.au3"
#include "GUIConstants.au3"
#include "GuiConstantsEx.au3"
#include "ProgressConstants.au3"
#include "WinAPIEx.au3"
#include "File.au3"
#include "IE.au3"
#include "Array.au3"
#endregion Header
#region Variables and Constants
Global $PP_x = 22, $PP_y = 177, $PP_w = 270, $PP_h = 25
Global $PL_x = 300, $PL_y = 182, $PL_w = 90, $PL_h = 15
Global $color0 = 0xECE9D8, $Color1 = 0xf4f3ef
#endregion Variables and Constants
#region GUI
$dlgTabbed = GUICreate("Test", 407, 395)
GUISetBkColor($Color0)
$PageControl1 = GUICtrlCreateTab(7, 7, 393, 213)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem(" Group 1 ")
$combo1 = GUICtrlCreateCombo("la-la-la", 60, 46, 160, 25)
GUICtrlSetData(-1, "lo-lo-lo")
$GLabel1 = GUICtrlCreateLabel("Сайт:", 22, 49, 36, 20)
$combo2 = GUICtrlCreateCombo("JPG", 320, 46, 60, 25)
GUICtrlSetData(-1, "EPS|AI|TIF|PSD")
$GLabel2 = GUICtrlCreateLabel("Тип файла:", 251, 49, 73, 20)
$folder1 = GUICtrlCreateButton("...", 351, 84, 30, 23)
$GLabel3 = GUICtrlCreateLabel("Где: ", 22, 88, 91, 20)
$pfile = GUICtrlCreateInput(@WorkingDir & "\url.txt", 104, 85, 241, 22)
$folder2 = GUICtrlCreateButton("...", 351, 117, 30, 23)
$GLabel4 = GUICtrlCreateLabel("Куда:", 22, 121, 68, 20)
$rfile = GUICtrlCreateInput(@WorkingDir & "\result.txt", 104, 118, 241, 22)
$Button1 = GUICtrlCreateButton("Начать работу", 22, 157, 360, 25)
$TabSheet2 = GUICtrlCreateTabItem(" Group 2 ")
$combo3 = GUICtrlCreateCombo("la-la-la", 60, 46, 160, 25)
GUICtrlSetData(-1, "lu-lu-lu")
$CLabel1 = GUICtrlCreateLabel("Сайт:", 22, 49, 36, 20)
$CLabel4 = GUICtrlCreateLabel("Уровень:", 260, 49, 73, 20)
$combo5 = GUICtrlCreateCombo("Disc", 320, 46, 60, 25)
GUICtrlSetData(-1, "Page")
$folder3 = GUICtrlCreateButton("...", 351, 84, 30, 23)
$CLabel2 = GUICtrlCreateLabel("Где: ", 22, 88, 91, 20)
$cpfile = GUICtrlCreateInput(@WorkingDir & "\url-cd.txt", 104, 85, 241, 22)
$folder4 = GUICtrlCreateButton("...", 351, 117, 30, 23)
$CLabel3 = GUICtrlCreateLabel("Кду:", 22, 121, 68, 20)
$crfile = GUICtrlCreateInput(@WorkingDir & "\url-result.txt", 104, 118, 241, 22)
$Button4 = GUICtrlCreateButton("Начать процедуру", 22, 157, 360, 25)
GUICtrlCreateTabItem("")
$Button2 = GUICtrlCreateButton("Закрыть", 226, 361, 73, 21)
GUISetState(@SW_SHOW)
#endregion GUI
#region Main Loop
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $Button1
GUICtrlSetState($combo1, $GUI_DISABLE)
GUICtrlSetState($combo2, $GUI_DISABLE)
GUICtrlSetState($folder1, $GUI_DISABLE)
GUICtrlSetState($pfile, $GUI_DISABLE)
GUICtrlSetState($folder2, $GUI_DISABLE)
GUICtrlSetState($rfile, $GUI_DISABLE)
GUICtrlSetState($Button2, $GUI_DISABLE)
GUICtrlSetState($Button1, $GUI_HIDE)
Chto_to_delaem()
GUICtrlSetState($combo1, $GUI_ENABLE)
GUICtrlSetState($combo2, $GUI_ENABLE)
GUICtrlSetState($folder1, $GUI_ENABLE)
GUICtrlSetState($pfile, $GUI_ENABLE)
GUICtrlSetState($folder2, $GUI_ENABLE)
GUICtrlSetState($rfile, $GUI_ENABLE)
GUICtrlSetState($Button2, $GUI_ENABLE)
GUICtrlSetState($Button1, $GUI_SHOW)
Case $nMsg = $Button2
GUIDelete()
Exit
EndSelect
WEnd
Exit
Func Chto_to_delaem()
$progressbar1 = GUICtrlCreateProgress($PP_x, $PP_y, $PP_w, $PP_h)
$NumLabel = GUICtrlCreateLabel("0/100", $PL_x, $PL_y, $PL_w, $PL_h)
GUICtrlSetBkColor(-1, $Color1)
For $x = 1 to 100
GUICtrlSetData($NumLabel, $x & "/100")
GUICtrlSetData($progressbar1, $x)
sleep(100)
Next
GUICtrlDelete($progressbar1)
GUICtrlDelete($NumLabel)
Return 1
EndFunc
#endregion Main Loop
Заранее большое спасибо тем, кто сможет помочь.