While I open a file (some of which take awhile) I change the cursor to a wait cursor. The problem is when the cursor leaves the window and returns the cursor isn't a wait cursor. I tried to solve this by keeping track of the cursor state and catch the mouse entering window event and setting the cursor then. However what happens is that the cursor doesn't actually change until the opening of the file is complete. My question is : Do I have have my file open in its own thread, or is there another way to force the cursor to update (some sort of flush events command) ?