1 (изменено: Clannad5, 2021-05-03 19:30:00)

Тема: AHK: При закрытие подпрограммы GUI, сворачивается основной GUI

Я сделал GUI интерфейс из графических кнопок.
у этого интерфейса есть второй интерфейс, который блокирует основной интерфейс, при его вызове:

Gui GUI: +Disabled

Когда же я уничтожаю второй интерфейс, основной сворачивается.

данный код вызывается, когда я жмякаю на графическую кнопку X - закрыть, на втором интерфейсе.


ExitEmpty:
   GuiControl, hide, ExitPressedEmpty
   While GetKeyState("lbutton", "P")
   sleep 10
   GuiControl, show, ExitPressedEmpty
    MouseGetPos, , , WhichWindow, WhichControl
    ControlGetPos, x, y, w, h, %WhichControl%, ahk_id %WhichWindow%
   if (WhichControl = "Static2" && WhichWindow != idGUI )
	{
   Gui Empty:Destroy
   Gui, GUI:  -Disabled
	 }
Return

https://i.imgur.com/tGgnw4N.png

Вопрос простой: Как сделать так, чтобы основной интерфейс не сворачивался, при удаление или сворачивания остальных?

2

Re: AHK: При закрытие подпрограммы GUI, сворачивается основной GUI

Когда изучал этот вопрос решил это простой активацией основного окна в момент закрытия дочернего.
Только обязательно нужно снять 'Disabled' с него.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3 (изменено: Clannad5, 2021-05-03 22:55:54)

Re: AHK: При закрытие подпрограммы GUI, сворачивается основной GUI

__Михаил__
Я пробовал этот способ, но бывают моменты, что при закрытие, может не сработать команда Show, т.к команды Show и Destroy на другом окне могут выполниться одновременно.
Можно конечно поставить Sleep, но хотелось бы обойтись без костылей.

Я думал, что делаю что-то не так просто и есть решение моей проблемы.

4

Re: AHK: При закрытие подпрограммы GUI, сворачивается основной GUI

Вот код, при котором уже не было проблем в моей программе:

2GuiEscape:
Gui 2: Cancel
Gui -Disabled		; Разблокировка основы.
KeyWait, Escape, U
Sleep, 10
Gui, Show
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101