#include <GUIConstants.au3> Opt('GUIOnEventMode', 1) Global $aUpdownDefPos[1][3] Global $Input1[2] $gui = GUICreate('0', 300, 300) GUISetOnEvent(-3, 'GUI_EVENT_CLOSE') $tab = GUICtrlCreateTab(10, 10, 200, 200) GUICtrlCreateTabItem('00') GUICtrlCreateTabItem('11') $Input1[0] = GUICtrlCreateInput(0, 20, 39, 40, 20, 0x2000) $Input1[1] = GUICtrlCreateUpdown(-1, 0xa0) GUICtrlSetLimit(-1, 100, -1) GUICtrlCreateButton('Показать', 20, 70, 100, 25) GUICtrlSetOnEvent(-1, '_ToogleInput1') GUICtrlCreateTabItem('') GUISetState(@SW_SHOW) GUICtrlSetState($Input1[0], $GUI_HIDE) _UpdownSetState($Input1[1], $GUI_HIDE) GUICtrlSetData($Input1[0], 1) While 1 Sleep(10) WEnd Func GUI_EVENT_CLOSE() Exit EndFunc Func _ToogleInput1() Switch BitAnd(GUICtrlGetState($Input1[0]), $GUI_HIDE) Case True GUICtrlSetState($Input1[0], $GUI_SHOW) _UpdownSetState($Input1[1], $GUI_SHOW) Case False GUICtrlSetState($Input1[0], $GUI_HIDE) _UpdownSetState($Input1[1], $GUI_HIDE) EndSwitch EndFunc Func _UpdownSetState($hUpdown, $GUI_State) Local $i Local $aPos = ControlGetPos($gui, '', $hUpdown) For $i=1 To $aUpdownDefPos[0][0] If $aUpdownDefPos[$i][0] == $hUpdown Then Switch $GUI_State Case $GUI_HIDE ;~ $aUpdownDefPos[$i][1] = $aPos[0] ;~ $aUpdownDefPos[$i][2] = $aPos[1] GUICtrlSetPos($hUpdown, -100, -100) Case $GUI_SHOW GUICtrlSetPos($hUpdown, $aUpdownDefPos[$i][1], $aUpdownDefPos[$i][2]) EndSwitch Return EndIf Next If $GUI_State == $GUI_HIDE Then $aUpdownDefPos[0][0] += 1 ReDim $aUpdownDefPos[$aUpdownDefPos[0][0]+1][UBound($aUpdownDefPos, 2)] $aUpdownDefPos[$aUpdownDefPos[0][0]][0] = $hUpdown $aUpdownDefPos[$aUpdownDefPos[0][0]][1] = $aPos[0] $aUpdownDefPos[$aUpdownDefPos[0][0]][2] = $aPos[1] GUICtrlSetPos($hUpdown, -100, -100) EndIf EndFunc |