Модальное окно из обработчика сообщений в WTL / Winapi - PullRequest
0 голосов
/ 02 марта 2011

У меня есть небольшое приложение, в котором есть окно WTL только для сообщений, которое выполняет фоновую обработку. Но при некоторых обстоятельствах я хотел бы показать окно, которое должно вести себя как модальное, то есть обработчик сообщений окна «только сообщение» не должен возвращаться, пока пользователь не нажмет кнопку.

Я думал, что смогу сделать это так (псевдокод):

LRESULT OnMessageWndHandler1(...)
{
     CModalWindow wnd;
     wnd.create(...)

     while(GetMessageLoop){}
}

Но когда я пытаюсь, окно создается просто отлично, но нажатие клавиши выводит десятки символов в окне редактирования модальных окон, а не один, как в обычном окне.

Скорее всего, я делаю что-то не так, но я не знаю, что и какой должен быть правильный подход. Модальное окно полностью сгенерировано кодом.

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Я хотел бы показать окно, которое должно вести себя как модальное ...

В моих необычных, но полезных основанных на диалоге классах, предназначенных дляСпециализация вы найдете способ вызова DoModal () на любом элементе управления или самодельном окне.

0 голосов
/ 02 марта 2011

Во-первых, это была плохая идея. Код - это просто обычный цикл сообщений. Я решил прибегнуть к менее экзотическому решению.

...