[ros-diffs] [jimtabor] 16630: Implement ShowOwnedPopups and ArrangeIconicWindows. Based on Wine. More work is needed on both.

jimtabor at svn.reactos.com jimtabor at svn.reactos.com
Mon Jul 18 05:13:15 CEST 2005


Implement ShowOwnedPopups and ArrangeIconicWindows. Based on Wine. More
work is needed on both.
Modified: trunk/reactos/lib/user32/windows/defwnd.c
Modified: trunk/reactos/lib/user32/windows/window.c
Modified: trunk/reactos/lib/user32/windows/winpos.c
  _____  

Modified: trunk/reactos/lib/user32/windows/defwnd.c
--- trunk/reactos/lib/user32/windows/defwnd.c	2005-07-18 03:12:01 UTC
(rev 16629)
+++ trunk/reactos/lib/user32/windows/defwnd.c	2005-07-18 03:13:11 UTC
(rev 16630)
@@ -1269,14 +1269,15 @@

             if (!lParam)
                 return 0;
             Style = GetWindowLongW(hWnd, GWL_STYLE);
-            if (!(Style & WS_POPUP))
-                return 0;
+//            if (!(Style & WS_POPUP))
+//                return 0;
             if ((Style & WS_VISIBLE) && wParam)
                 return 0;
             if (!(Style & WS_VISIBLE) && !wParam)
                 return 0;
             if (!GetWindow(hWnd, GW_OWNER))
                 return 0;
+            NtUserCallTwoParam((DWORD) hWnd, (DWORD) wParam,
TWOPARAM_ROUTINE_ROS_SHOWWINDOW);
             ShowWindow(hWnd, wParam ? SW_SHOWNA : SW_HIDE);
             break;
         }
  _____  

Modified: trunk/reactos/lib/user32/windows/window.c
--- trunk/reactos/lib/user32/windows/window.c	2005-07-18 03:12:01 UTC
(rev 16629)
+++ trunk/reactos/lib/user32/windows/window.c	2005-07-18 03:13:11 UTC
(rev 16630)
@@ -51,17 +51,6 @@

 /*
  * @unimplemented
  */
-UINT STDCALL
-ArrangeIconicWindows(HWND hWnd)
-{
-  UNIMPLEMENTED;
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
 HDWP STDCALL
 BeginDeferWindowPos(int nNumWindows)
 {
@@ -1084,15 +1073,15 @@
 
   BOOL visible;
   visible = IsWindowVisible(hwnd);
-//  if(!IsWindow(hwnd) ||
-//    (visible && !(dwFlags & AW_HIDE)) ||
-//    (!visible && (dwFlags & AW_HIDE)))
+  if(!IsWindow(hwnd) ||
+    (visible && !(dwFlags & AW_HIDE)) ||
+    (!visible && (dwFlags & AW_HIDE)))
   {
     SetLastError(ERROR_INVALID_PARAMETER);
     return FALSE;
   }
 
-//  ShowWindow(hwnd, (dwFlags & AW_HIDE) ? SW_HIDE : ((dwFlags &
AW_ACTIVATE) ? SW_SHOW : SW_SHOWNA));
+  ShowWindow(hwnd, (dwFlags & AW_HIDE) ? SW_HIDE : ((dwFlags &
AW_ACTIVATE) ? SW_SHOW : SW_SHOWNA));
 
   return TRUE;
 }
@@ -1273,14 +1262,13 @@
 
 
 /*
- * @unimplemented
+ * @implemented
  */
 BOOL STDCALL
 ShowOwnedPopups(HWND hWnd,
 		BOOL fShow)
 {
-  UNIMPLEMENTED;
-  return FALSE;
+  return (BOOL)NtUserCallTwoParam((DWORD)hWnd, fShow,
TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS);
 }
 
 
  _____  

Modified: trunk/reactos/lib/user32/windows/winpos.c
--- trunk/reactos/lib/user32/windows/winpos.c	2005-07-18 03:12:01 UTC
(rev 16629)
+++ trunk/reactos/lib/user32/windows/winpos.c	2005-07-18 03:13:11 UTC
(rev 16630)
@@ -55,3 +55,11 @@

   return(NtUserSetActiveWindow(hWnd));
 }
 
+/*
+ * @unimplemented
+ */
+UINT STDCALL
+ArrangeIconicWindows(HWND hWnd)
+{
+  return NtUserCallHwndLock( hWnd,
HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS);
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050718/f0620455/attachment.html


More information about the Ros-diffs mailing list