2012-05-11 3 views
1

Итак, я создал главное окно, внутри которого я создал 2 дочерних окна. Все они имеют разные WindowProcs. В сообщении WM_CREATE главного окна я фокусируюсь на одном из дочерних окон с SetFocus(...). После отображения MessageBox из дочернего окна proc фокус возвращается в главное окно. Как я могу сосредоточиться на дочернем окне?Окно для детей теряет фокус после отображения MessageBox

+0

Call SetFocus после MessageBox – rkosegi

+0

@rkosegi Спасибо, что это работает, хотя это взломать, но это рабочий хак. –

ответ

4

Когда окно окна сообщения destroyed, Windows делает еще верхний уровень окно active window. Если это не то, что вы хотите, вам нужно ответить на сообщение WM_SETFOCUS, которое получит ваше главное (верхнее) окно, и используйте SetFocus(), чтобы направлять фокус на ребенка.

Смежные вопросы