Huw D M Davies wrote:

       Huw Davies <[EMAIL PROTECTED]>
       For modal propsheets we should run our own message loop rather than
       use a modal dialogbox just like Windows does.  This helps apps that
       subclass the propsheet's wndproc.

+static INT do_loop(PropSheetInfo *psInfo)
+{
+    MSG msg;
+    INT ret = 0;
+    HWND hwnd = psInfo->hwnd;
+
+    while(IsWindow(hwnd) && !psInfo->ended && (ret = GetMessageW(&msg, NULL, 
0, 0)))
+    {
+        if(ret == -1)
+            break;
+
+        if(!IsDialogMessageW(hwnd, &msg))
+        {
+            TranslateMessage(&msg);
+            DispatchMessageW(&msg);
+        }
+    }
+    if(ret == 0) ret = -1;
+
+    DestroyWindow(hwnd);
+    return ret;
+}


If you get a WM_QUIT message while in the loop, then you have to repost it so that the application sees it and shuts down properly.

--
Rob Shearman


Reply via email to