Есть ли какая-либо функция, вызванная после функции OnInitDialog в MFC? - PullRequest
7 голосов
/ 23 февраля 2011

Я хочу создать поток после создания диалогового окна в MFC.Существует ли какая-либо функция, предоставленная Windows и автоматически вызываемая после OnInitDialog, чтобы я мог создать в ней поток?

Ответы [ 3 ]

16 голосов
/ 23 февраля 2011

Вы можете просто создать свою тему в функции OnInitDialog.Нет причин переусердствовать, ища другую функцию или разбивая код инициализации на две части.(Там также не такой функции, потому что нет соответствующего сообщения Windows, которое отправляется.)

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

ShowWindow(SW_SHOW);
RedrawWindow();

См. Также этот пост Рэймонда Чена: Перед тем, как что-то сделать, дождитесь отображения диалогового окна

0 голосов
/ 23 февраля 2011

Я изменил приоритет потока ниже обычного, и когда поток выполняется впервые, я установил для потока нормальный приоритет.Это отлично работает.Спасибо за ваш ответ.

0 голосов
/ 23 февраля 2011

OnInitDialog() - это основная функция, вызываемая при инициализации (в ответ на WM_CREATE).

Почему вы не можете создать свою тему там?

...