I am trying to create a dialog that is very similar to a standard windows progress dialog. On my dialog, I have a cancel button. How can I perform a continuous action upon opening the dialog until the user presses the cancel button? I have tried using PeekMessage but can't seem to get the application to Yield. I currently have a processing loop in the Timer so that I can start the timer after the dialog is initialized and displayed. Is there somewhere else I should be doing the processing? How do I allow the cancel button to be pressed while in my processing loop and then detect that it was pressed? Thanks in advance for any input!