I wrote myself a little application that does some wild I/O on the hdd (hashing files to be precise). I'm using a window with a multline edit control for a simple output which files have been processed so far. Since I have no idea about multithreading (as far as I understand it such things should be done in worker threads), I just update the output window text out of the processing loop after each completed file. Because I'm not returning from my processing function, these updates won't be painted until all files are finished (kind of useless for a progress report ). So I tried to manually RedrawWindow() after each update. Interestingly enough this works fine... until the output window loses focus once. After that no further updates are painted, only the whole bunch at once at function return.
I'd really appreciate any ideas why this happens. And of course how to fix it .