Re: MFC wait dialog
"Dan24" <dliberty@gmail.com> wrote in message
news:1171199069.490940.146760@k78g2000cwa.googlegroups.com...
As I already mentioned - in this scenario doing things in a worker
thread is pointless. I do not need to enable interaction with the UI
while the search is in process therefore there is no reason to do the
search in a seperate thread (and then send the data between threads to
update the listbox).
But your UI needs to be free to respond to repaint messages, etc. during
your time consuming task. For example, if you do the time consuming task on
the main thread, and while that is going on, you maximize another app's
window to cover yours, then you restore that app's window so that yours is
once again visible, well... your window won't repaint because it won't
process the WM_PAINT message until after your time consuming task is done.
In fact, if it waits too long, Windows will put (Not responding) in your
caption.
This is why David W. said you must do your time consuming task on another
thread. Even if the user isn't supposed to interact with your window during
this time, the window must still be alive to respond to system-related
events. And if this is the case, it's easiest to just show your progress
window in the main thread and use a worker thread to perform the time
consuming task.
BTW, I would use a modeless dialog for your progress window.
-- David (MVP)