Что нового

потеря фокуса на кнопке с свойствами $GUI_DISABLE

running-frag

why me?
Сообщения
441
Репутация
60
ех нафлудил я сегодня :smile: ну на последок перед сном ещё один постик "по умнее"

Код:
GUICtrlSetData 		($_hGUI_button, "done")
			GUICtrlSetState 	($_hGUI_button, $GUI_DISABLE)
			;ControlFocus ("", "", $hGUI_child)

Вопрос вот такой, код выше выполняется после нажатия на эту самую $_hGUI_button. Т.е. меняется текст + дизабл. После чего у нас фокус гдето пропадает. Т.к. при попытке "ESC" (что должно закрыть окно) мы слышим пиканье. Все это слышали думаю когда нельзя закрыть окно.

Если прогулятся фокусом (активируем любой другое окно и после опять то где наша кнопка) то оно сходу "одупляется" и с первого "ESC" без ошибок выходит.

В общем курил долго и пришёл к выводу что "фокус умирает на задизабленной кнопке" (или ваши варианты?). И отсюда не даёт ничего дальше делать. Но погуглив нашёл ControlFocus () который в принцепи решает этот вопрос на ура. Меня интересует вот что, это "нормальная практика" что вот такое происходит? (или где то у меня косяк в коде?)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Это нормально. Если выключается элемент, содержащий фокус, то фокус пропадает. Просто устанавливай принудительно фокус на следующий элемент.

Код:
GUICtrlSetState($_hGUI_button, $GUI_DISABLE)
GUICtrlSetState(..., $GUI_FOCUS)
 
Верх