Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Progress Bar в отдельном потоке


Автор: 2faust 25.6.2009, 22:32
всем доброго.
не подскажите мне как можно запустить прогресс бар в отдельном потоке, например в потоке N3, а из потока N2 передавать след. позицию прогресс бара в поток N3 для изменеия сосотояния прогресса ?
по окончании процесса из потока N2 в поток N3 передать сообщение, чтобы прогресс скрылся?

в поток N2 прогресс бар нельзя встраивать !

Автор: jonie 26.6.2009, 07:20
ну вы создаете прогресс бар в основном giu потоке, а далее посылаете через SendMessage (сообщение установки позиции не помню - ищите в msdn) новую позицию. Непосредственно про маршалинг вам думать не придется - за вас это сделает оконная очередь виндовс.
Аналогично с скрытием. WM_SHOW сообщение, если мне не изменяет память. Почитаете про него в MSDN.

Автор: 2faust 26.6.2009, 10:53
Цитата("jonie")

ну вы создаете прогресс бар в основном giu потоке, а далее посылаете через SendMessage (сообщение установки позиции не помню - ищите в msdn) новую позицию. 


я конечно все это прекрасно понимаю, но вот проблема, след. позицию мне надо передавать из потока N2 в поток N3. 
если не составит труда примерчик приведите, пожалуйста.  smile 

Автор: Andrey44 26.6.2009, 12:24
Цитата(2faust @  26.6.2009,  10:53 Найти цитируемый пост)
я конечно все это прекрасно понимаю, но вот проблема, след. позицию мне надо передавать из потока N2 в поток N3. 

Зачем так делать? Обычно это делается в одном потоке, созданном отдельно.

Автор: jonie 26.6.2009, 18:46
Andrey44 вариант: есть задание (100%) бъем его по потокам, но хотим отображать один прогресбар отображающий обработку задания.

Цитата

я конечно все это прекрасно понимаю, но вот проблема, след. позицию мне надо передавать из потока N2 в поток N3. 
если не составит труда примерчик приведите, пожалуйста.   
А в чем проблема? Пример на чистом winapi в аттаче.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)