Ограничить ShowWindow () диалога - PullRequest
0 голосов
/ 28 апреля 2011

У меня есть одно диалоговое окно в MFC (платформа Wince) и один список над ним. Мне нужно создать поток после того, как диалоговое окно станет видимым. Но иногда кажется, что поток запускается до полного выполнения ShowWindow (). Как я могу ограничить выполнение потока, пока диалоговое окно полностью не отображается на экране.

С уважением,

Мукеш

Ответы [ 3 ]

1 голос
/ 28 апреля 2011

Вы не должны использовать второй поток для рисования (как говорили другие).

Если вы хотите обновить окно, когда действие происходит в другом потоке, то в другом потоке сделать недействительным окно для принудительной перерисовки, затем, когда происходит перерисовка, обновите окно с использованием любых новых значений.Таким образом, вам не придется выполнять ужасную синхронизацию операций рисования, с которыми у вас возникли проблемы.

0 голосов
/ 28 апреля 2011

Чтобы быть абсолютно уверенным, что поток запускается одновременно с отображением диалогового окна, просто запустите поток как последнее, что вы делаете в первый раз, когда обрабатывается WM_PAINT.

0 голосов
/ 28 апреля 2011

Возможно, вы захотите создать поток, когда диалог активируется в первый раз.Вам необходимо использовать одно из этих сообщений WM_ACTIVATE

...