I'm creating a Windows application using Microsoft Visual C++ 2008.

I successfully created a GUI and programmed all of its functionality. However, when I run certain functions my application will stop responding. The program will still be running nonetheless, and it will start responding once again as soon as it finishes the computational-intensive task.

How can I avoid this? I implemented a bar to show the computation's progress, but because of the window's non-responsiveness it won't even show up!

Thank you in advance for your help.