Нубокодер
Новичок
- Сообщения
- 75
- Репутация
- 0
В результате выполнения _FullClicked() второй раз, нужно вернуть первоначальное состояние окна (с кнопками свернуть и закрыть). Какие параметры прописать после Else в функции _WinAPI_SetWindowLong (...) - вообще не понимаю :stars:
Код:
#include <WinAPI.au3>
#include <Constants.au3>
#include <WindowsConstants.au3>
$GUI1 = GUICreate("Полный экран и обратно", 888, 500, 100, 150)
$iData = GUICtrlCreateLabel("Первоначальное окно с кнопками управления...", 50, 50, 450, -1)
GUISetState() ; окна видимы:
Sleep (5000)
_FullClicked()
Sleep (5000)
_FullClicked()
Sleep (5000)
Func _FullClicked() ; В максимальный экран и обратно:
$hWin = WinGetHandle($GUI1); получаю дискриптер главного окна
If Not $hWin Then Return ; если дискриптер НЕ получен - выйти с функции
If WinGetState ( $hWin ) <> 47 Then ; если статус окна "НЕ развернуто на полный экран без строки"
GUICtrlSetData($iData, "Устанавлен полноэкранный режим без кнопок")
ConsoleWrite ( "Окно НЕ развернуто, значит разворачиваю " & @CRLF )
_WinAPI_SetWindowLong($hWin, $GWL_STYLE, BitAND(_WinAPI_GetWindowLong($hWin, $GWL_STYLE), BitNOT($WS_CAPTION)))
WinSetState($hWin, '', @SW_MAXIMIZE)
WinActivate($hWin)
Else
;~ ЗДЕСЬ НУЖНО ВЕРНУТЬ ВИД ОКНА В ПЕРВОНАЧАЛЬНОЕ СОСТОЯНИЕ (с верхней строкой, где есть кнопки свернуть и закрыть):
;~ _WinAPI_SetWindowLong($hWin, ????????????????????????????? )
GUICtrlSetData($iData, "Получается так, а надо вернуть первоначальный размер и с кнопками управления")
ConsoleWrite ( "Окно развернуто, значит восстанавливаю " & @CRLF )
WinSetState($hWin, '', @SW_RESTORE)
WinActivate($hWin)
EndIf
Return
EndFunc