Я хочу, чтобы моё окно было невидимым большую часть времени, но я могу добраться до
экран на горячую клавишу и снова скрыться, если пользователь переключается на другой
приложение.
В моем обработчике горячих клавиш я использую
self.Show()
self.Raise()
self.Iconize(False)
и в моем обработчике сообщений активации
self.Hide()
self.Iconize(True)
но окно появляется в верхней части экрана, но остается деактивированным:
его цвет строки заголовка неактивен, и он мигает на панели задач
как окно, требующее моего внимания и не получающее EVT_ACTIVATE. я
попытался добавить self.SetFocus, но без эффекта.
И если я использую
self.Show()
self.SetFocus()
в обработчике горячих клавиш и в моем обработчике сообщений активации
self.Hide()
и все работает нормально, если я деактивирую свое окно, нажимая на другое
окно, но если я нажму Alt-Tab, а затем вызову мое окно с помощью горячей клавиши
он не появляется в верхней части экрана, а просто мигает в
панель задач. Также я сделал возможность скрыть это, нажав на нее кнопку,
и если я скрываю это таким образом, он также не будет отображаться правильно после
как в случае с Alt-Tab