Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Установка фокуса на дочернее окно

472
19 декабря 2005 года
Vovka
139 / / 10.02.2005
При выводе окна вызываю другое:
void MyPrg::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);
if(bFirstShow) return;
bFirstShow = true;
CMyWnd2 *sf;
sf = new CMyWnd2();
sf->DoModal();
delete sf;
}
А в выводе дочернего окна:
void CMyWnd2::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);

::SetFocus(m_hWnd);
}

При этом фокус на дочернее окно не устанавливается!
Как быть?
2.4K
21 декабря 2005 года
dinasok51
219 / / 12.11.2005
DoModal() захватывает фокус автоматически и дополнительно SetFocus не нужен.
На то он (диалог) и модальный
472
21 декабря 2005 года
Vovka
139 / / 10.02.2005
Цитата:
Originally posted by dinasok51
DoModal() захватывает фокус автоматически и дополнительно SetFocus не нужен.
На то он (диалог) и модальный


Попробуй по вызвать окно родителя по комбинации клавиш и в моем случае фокус не устанавливается, а вот если вызывать по клику мышки или через меню - то все ОК!

Я нашел решение:
::SetForegroundWindow(m_hWnd);

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог