Как установить фокус на CEdit в дочернем диалоге, который находится внутри TabCtrl? - PullRequest
1 голос
/ 04 мая 2011

У меня есть диалоговое окно (CDialog) с нарисованным владельцем CTabCtrl. Содержимое вкладок - это дочерние диалоги (по одному для каждой вкладки). В каждой вкладке есть CEdit. Когда пользователь щелкает вкладку, я скрываю все дочерние диалоги, используя ShowWindow (SW_HIDE) и показываю выбранный.

Проблема в том, что когда у меня есть, например, две вкладки, щелкните внутри поля редактирования на первой вкладке, а затем переключитесь на вторую, фокус ввода остается на этом (невидимом) поле редактирования на первой вкладке, независимо от того, что я сделать в моем коде (попытался вызвать все методы, которые могут установить фокус, ничего не изменилось).

1 Ответ

0 голосов
/ 05 мая 2011

Попробуйте это:

GetDlgItem(IDC_YOURCONTROL)->SetFocus();

Или связанная переменная, связанная с элементом управления:

m_YOURCONTROLControl.SetFocus();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...