Любой производный от wxTopLevelWindow (wxFrame, wxDialog и их производные) имеет метод IsActive()
. Документы WX говорят:
Возвращает истину, если это окно в данный момент активно, т.е. если пользователь
в данный момент работаю с ним.
" работа с ним " означает, что пользователь изменяет размеры / перемещает его, или щелкает мышью на панели инструментов, или вводит элемент управления.
HasFocus()
заставляет сфокусированное окно принимать ввод с клавиатуры (даже если это не текстовый элемент управления).
Обратите внимание на небольшую разницу между «работой с ним» и «принять ввод с клавиатуры».
И еще один запрос: IsEnabled()
, для ввода пользователя, который не совпадает с "действием пользователя".