There are a few options here, probably, but what would you suggest to be the safest way to accomplish the following:
I’ve got a child CFrameWnd with a parent = NULL (so that it can live a separate life from the main application, while the app is running, at least). I’ve got all those windows stored in a list. When the main app is closing (MainFrame getting an OnClose), I go through the array and issue a PostMessage(WM_CLOSE) to all. However, the problem is that each of them has to do stuff before closing down. So, I need to wait for them. But we’re all on the same thread… So, how can I wait for the children to close, without blocking their own processing in a single-threaded application?
Or should I launch a worker thread to take care of that? Would it be easier?
Thanks in advance!
Use SendMessage() instead of PostMessage().
Edit: Another option might be to simply handle WM_DESTROY in your child windows (depending on your code of course).