Постоянное увеличение Progressbar в MFC

завершение выполнения В моем приложении у меня есть модальный диалог. При нажатии кнопки в моем диалоговом окне появляется диалоговое окно без модели с индикатором выполнения.

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

В родительском диалоговом окне после всплывающего диалогового окна без модели он вызывает API из dll, а основной поток занят. Когда основной поток (родительский диалог) занят, рабочий поток не увеличивает индикатор выполнения. Если основной поток не занят тогда увеличивается только индикатор выполнения.

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

Любая помощь приветствуется.

Спасибо.


person Community    schedule 13.11.2014    source источник
comment
Есть два типа индикаторов выполнения. Вы не указываете, какой тип вы используете, или не показываете соответствующий код, чтобы помочь вам.   -  person rrirower    schedule 13.11.2014


Ответы (1)


Пока основной поток занят, он не будет обрабатывать сообщения. Поэтому PostMessage или SendMessage из рабочего потока должны ждать. Решение состоит в том, чтобы выполнять функцию занятости в рабочем потоке, а не в основном потоке.

person ScottMcP-MVP    schedule 13.11.2014