Made all 16<->32 HWND conversions use explicit functions instead of
implicit type casts.
Moved a lot of 16-bit functions to the new wnd16.c file.
Changed DIALOGINFO structure handling to support 32-bit handles.

diff --git a/controls/menu.c b/controls/menu.c
index 675026d..f15adea 100644
--- a/controls/menu.c
+++ b/controls/menu.c
@@ -1068,7 +1068,7 @@
         if (lpitem->fState & MF_GRAYED)  dis.itemState |= ODS_GRAYED;
         if (lpitem->fState & MF_HILITE)  dis.itemState |= ODS_SELECTED;
         dis.itemAction = odaction; /* ODA_DRAWENTIRE | ODA_SELECT | ODA_FOCUS; */
-        dis.hwndItem   = hmenu;
+        dis.hwndItem   = (HWND)hmenu;
         dis.hDC        = hdc;
         dis.rcItem     = lpitem->rect;
         TRACE("Ownerdraw: owner=%04x itemID=%d, itemState=%d, itemAction=%d, "
@@ -2901,7 +2901,7 @@
     if (!(wFlags & TPM_NONOTIFY))
        SendMessageA( hWnd, WM_ENTERMENULOOP, bPopup, 0 );
 
-    SendMessageA( hWnd, WM_SETCURSOR, hWnd, HTCAPTION );
+    SendMessageA( hWnd, WM_SETCURSOR, (WPARAM)hWnd, HTCAPTION );
 
     if (!(wFlags & TPM_NONOTIFY))
     {
@@ -3007,20 +3007,6 @@
 
 
 /**********************************************************************
- *           TrackPopupMenu   (USER.416)
- */
-BOOL16 WINAPI TrackPopupMenu16( HMENU16 hMenu, UINT16 wFlags, INT16 x, INT16 y,
-                           INT16 nReserved, HWND16 hWnd, const RECT16 *lpRect )
-{
-    RECT r;
-    if (lpRect)
-   	 CONV_RECT16TO32( lpRect, &r );
-    return TrackPopupMenu( hMenu, wFlags, x, y, nReserved, hWnd,
-                             lpRect ? &r : NULL );
-}
-
-
-/**********************************************************************
  *           TrackPopupMenu   (USER32.@)
  *
  * Like the win32 API, the function return the command ID only if the
@@ -3350,16 +3336,6 @@
 
 
 /**********************************************************************
- *         HiliteMenuItem    (USER.162)
- */
-BOOL16 WINAPI HiliteMenuItem16( HWND16 hWnd, HMENU16 hMenu, UINT16 wItemID,
-                                UINT16 wHilite )
-{
-    return HiliteMenuItem( hWnd, hMenu, wItemID, wHilite );
-}
-
-
-/**********************************************************************
  *         HiliteMenuItem    (USER32.@)
  */
 BOOL WINAPI HiliteMenuItem( HWND hWnd, HMENU hMenu, UINT wItemID,
@@ -3836,15 +3812,6 @@
 
 
 /**********************************************************************
- *         GetSystemMenu    (USER.156)
- */
-HMENU16 WINAPI GetSystemMenu16( HWND16 hWnd, BOOL16 bRevert )
-{
-    return GetSystemMenu( hWnd, bRevert );
-}
-
-
-/**********************************************************************
  *         GetSystemMenu    (USER32.@)
  */
 HMENU WINAPI GetSystemMenu( HWND hWnd, BOOL bRevert )
@@ -3899,15 +3866,6 @@
 
 
 /*******************************************************************
- *         SetSystemMenu    (USER.280)
- */
-BOOL16 WINAPI SetSystemMenu16( HWND16 hwnd, HMENU16 hMenu )
-{
-    return SetSystemMenu( hwnd, hMenu );
-}
-
-
-/*******************************************************************
  *         SetSystemMenu    (USER32.@)
  */
 BOOL WINAPI SetSystemMenu( HWND hwnd, HMENU hMenu )
@@ -3926,15 +3884,6 @@
 
 
 /**********************************************************************
- *         GetMenu    (USER.157)
- */
-HMENU16 WINAPI GetMenu16( HWND16 hWnd ) 
-{
-    return (HMENU16)GetMenu(hWnd);
-}
-
-
-/**********************************************************************
  *         GetMenu    (USER32.@)
  */
 HMENU WINAPI GetMenu( HWND hWnd ) 
@@ -3946,15 +3895,6 @@
 
 
 /**********************************************************************
- *         SetMenu    (USER.158)
- */
-BOOL16 WINAPI SetMenu16( HWND16 hWnd, HMENU16 hMenu )
-{
-    return SetMenu( hWnd, hMenu );
-}
-
-
-/**********************************************************************
  *         SetMenu    (USER32.@)
  */
 BOOL WINAPI SetMenu( HWND hWnd, HMENU hMenu )
@@ -4013,15 +3953,6 @@
 
 
 /**********************************************************************
- *         DrawMenuBar    (USER.160)
- */
-void WINAPI DrawMenuBar16( HWND16 hWnd )
-{
-    DrawMenuBar( hWnd );
-}
-
-
-/**********************************************************************
  *         DrawMenuBar    (USER32.@)
  */
 BOOL WINAPI DrawMenuBar( HWND hWnd )
@@ -4702,21 +4633,6 @@
      return TRUE;
 }
 
-/**********************************************************************
- *		GetMenuItemRect    (USER.665)
- */
-
-BOOL16 WINAPI GetMenuItemRect16 (HWND16 hwnd, HMENU16 hMenu, UINT16 uItem,
-				 LPRECT16 rect)
-{
-     RECT r32;
-     BOOL res;
-
-     if (!rect) return FALSE;
-     res = GetMenuItemRect (hwnd, hMenu, uItem, &r32);
-     CONV_RECT32TO16 (&r32, rect);
-     return res;
-}
 
 /**********************************************************************
  *		SetMenuInfo    (USER32.@)
@@ -5037,43 +4953,3 @@
     WARN_(accel)("couldn't translate accelerator key\n");
     return 0;
 }
-
-
-/**********************************************************************
- *           TranslateAccelerator      (USER.178)
- */
-INT16 WINAPI TranslateAccelerator16( HWND16 hWnd, HACCEL16 hAccel, LPMSG16 msg )
-{
-    LPACCEL16 lpAccelTbl;
-    int i;
-
-    if (msg == NULL)
-    {
-        WARN_(accel)("msg null; should hang here to be win compatible\n");
-        return 0;
-    }
-    if (!hAccel || !(lpAccelTbl = (LPACCEL16) LockResource16(hAccel)))
-    {
-        WARN_(accel)("invalid accel handle=%x\n", hAccel);
-        return 0;
-    }
-    if ((msg->message != WM_KEYDOWN &&
-         msg->message != WM_KEYUP &&
-         msg->message != WM_SYSKEYDOWN &&
-         msg->message != WM_SYSKEYUP &&
-         msg->message != WM_CHAR)) return 0;
-
-    TRACE_(accel)("TranslateAccelerators hAccel=%04x, hWnd=%04x,"
-                  "msg->hwnd=%04x, msg->message=%04x, wParam=%04x, lParam=%lx\n",
-                  hAccel,hWnd,msg->hwnd,msg->message,msg->wParam,msg->lParam);
-
-    i = 0;
-    do
-    {
-        if (translate_accelerator( hWnd, msg->message, msg->wParam, msg->lParam,
-                                   lpAccelTbl[i].fVirt, lpAccelTbl[i].key, lpAccelTbl[i].cmd ))
-            return 1;
-    } while ((lpAccelTbl[i++].fVirt & 0x80) == 0);
-    WARN_(accel)("couldn't translate accelerator key\n");
-    return 0;
-}