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/scroll.c b/controls/scroll.c
index f5a4fc0..f2b5e4d 100644
--- a/controls/scroll.c
+++ b/controls/scroll.c
@@ -883,7 +883,7 @@
     }
     SendMessageW( GetParent(hwnd),
                   (GetWindowLongA( hwnd, GWL_STYLE ) & SBS_VERT) ? WM_VSCROLL : WM_HSCROLL,
-                  msg, hwnd );
+                  msg, (LPARAM)hwnd );
 }
 
 
@@ -974,7 +974,7 @@
             if ((msg == WM_LBUTTONDOWN) || (msg == WM_SYSTIMER))
             {
                 SendMessageA( hwndOwner, vertical ? WM_VSCROLL : WM_HSCROLL,
-                                SB_LINEUP, hwndCtl );
+                                SB_LINEUP, (LPARAM)hwndCtl );
 	    }
              
 	    SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
@@ -993,7 +993,7 @@
             if ((msg == WM_LBUTTONDOWN) || (msg == WM_SYSTIMER))
             {
                 SendMessageA( hwndOwner, vertical ? WM_VSCROLL : WM_HSCROLL,
-                                SB_PAGEUP, hwndCtl );
+                                SB_PAGEUP, (LPARAM)hwndCtl );
             }
             SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
                               SCROLL_FIRST_DELAY : SCROLL_REPEAT_DELAY,
@@ -1042,7 +1042,7 @@
                                                          SCROLL_TrackingPos );
                 SendMessageA( hwndOwner, vertical ? WM_VSCROLL : WM_HSCROLL,
                                 MAKEWPARAM( SB_THUMBTRACK, SCROLL_TrackingVal),
-                                hwndCtl );
+                                (LPARAM)hwndCtl );
 		if (!SCROLL_MovingThumb)
 		    SCROLL_DrawMovingThumb( hdc, &rect, vertical,
                                         arrowSize, thumbSize );
@@ -1059,7 +1059,7 @@
             if ((msg == WM_LBUTTONDOWN) || (msg == WM_SYSTIMER))
             {
                 SendMessageA( hwndOwner, vertical ? WM_VSCROLL : WM_HSCROLL,
-                                SB_PAGEDOWN, hwndCtl );
+                                SB_PAGEDOWN, (LPARAM)hwndCtl );
             }
             SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
                               SCROLL_FIRST_DELAY : SCROLL_REPEAT_DELAY,
@@ -1076,7 +1076,7 @@
             if ((msg == WM_LBUTTONDOWN) || (msg == WM_SYSTIMER))
             {
                 SendMessageA( hwndOwner, vertical ? WM_VSCROLL : WM_HSCROLL,
-                                SB_LINEDOWN, hwndCtl );
+                                SB_LINEDOWN, (LPARAM)hwndCtl );
 	    }
 
 	    SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
@@ -1097,11 +1097,11 @@
             UINT val = SCROLL_GetThumbVal( infoPtr, &rect, vertical,
                                  trackThumbPos + lastMousePos - lastClickPos );
             SendMessageA( hwndOwner, vertical ? WM_VSCROLL : WM_HSCROLL,
-                            MAKEWPARAM( SB_THUMBPOSITION, val ), hwndCtl );
+                            MAKEWPARAM( SB_THUMBPOSITION, val ), (LPARAM)hwndCtl );
         }
         else
             SendMessageA( hwndOwner, vertical ? WM_VSCROLL : WM_HSCROLL,
-                            SB_ENDSCROLL, hwndCtl );
+                          SB_ENDSCROLL, (LPARAM)hwndCtl );
     }
 
     ReleaseDC( hwnd, hdc );
@@ -1302,16 +1302,6 @@
 
 
 /*************************************************************************
- *           SetScrollInfo   (USER.475)
- */
-INT16 WINAPI SetScrollInfo16( HWND16 hwnd, INT16 nBar, const SCROLLINFO *info,
-                              BOOL16 bRedraw )
-{
-    return (INT16)SetScrollInfo( hwnd, nBar, info, bRedraw );
-}
-
-
-/*************************************************************************
  *           SetScrollInfo   (USER32.@)
  * SetScrollInfo can be used to set the position, upper bound, 
  * lower bound, and page size of a scrollbar control.
@@ -1487,15 +1477,6 @@
 
 
 /*************************************************************************
- *           GetScrollInfo   (USER.476)
- */
-BOOL16 WINAPI GetScrollInfo16( HWND16 hwnd, INT16 nBar, LPSCROLLINFO info )
-{
-    return GetScrollInfo( hwnd, nBar, info );
-}
-
-
-/*************************************************************************
  *           GetScrollInfo   (USER32.@)
  * GetScrollInfo can be used to retrieve the position, upper bound, 
  * lower bound, and page size of a scrollbar control.
@@ -1528,16 +1509,6 @@
 
 
 /*************************************************************************
- *           SetScrollPos   (USER.62)
- */
-INT16 WINAPI SetScrollPos16( HWND16 hwnd, INT16 nBar, INT16 nPos,
-                             BOOL16 bRedraw )
-{
-    return (INT16)SetScrollPos( hwnd, nBar, nPos, bRedraw );
-}
-
-
-/*************************************************************************
  *           SetScrollPos   (USER32.@)
  *
  * RETURNS
@@ -1569,15 +1540,6 @@
 
 
 /*************************************************************************
- *           GetScrollPos   (USER.63)
- */
-INT16 WINAPI GetScrollPos16( HWND16 hwnd, INT16 nBar )
-{
-    return (INT16)GetScrollPos( hwnd, nBar );
-}
-
-
-/*************************************************************************
  *           GetScrollPos   (USER32.@)
  *
  * RETURNS
@@ -1600,18 +1562,6 @@
 
 
 /*************************************************************************
- *           SetScrollRange   (USER.64)
- */
-void WINAPI SetScrollRange16( HWND16 hwnd, INT16 nBar,
-                              INT16 MinVal, INT16 MaxVal, BOOL16 bRedraw )
-{
-    /* Invalid range -> range is set to (0,0) */
-    if ((INT)MaxVal - (INT)MinVal > 0x7fff) MinVal = MaxVal = 0;
-    SetScrollRange( hwnd, nBar, MinVal, MaxVal, bRedraw );
-}
-
-
-/*************************************************************************
  *           SetScrollRange   (USER32.@)
  *
  * RETURNS STD
@@ -1672,20 +1622,6 @@
 
 
 /*************************************************************************
- *           GetScrollRange   (USER.65)
- */
-BOOL16 WINAPI GetScrollRange16( HWND16 hwnd, INT16 nBar,
-                                LPINT16 lpMin, LPINT16 lpMax)
-{
-    INT min, max;
-    BOOL16 ret = GetScrollRange( hwnd, nBar, &min, &max );
-    if (lpMin) *lpMin = min;
-    if (lpMax) *lpMax = max;
-    return ret;
-}
-
-
-/*************************************************************************
  *           GetScrollRange   (USER32.@)
  *
  * RETURNS STD
@@ -1786,16 +1722,6 @@
 
 
 /*************************************************************************
- *           ShowScrollBar   (USER.267)
- */
-void WINAPI ShowScrollBar16( HWND16 hwnd, INT16 nBar, BOOL16 fShow )
-{
-    SCROLL_ShowScrollBar( hwnd, nBar, (nBar == SB_VERT) ? 0 : fShow,
-				      (nBar == SB_HORZ) ? 0 : fShow );
-}
-
-
-/*************************************************************************
  *           ShowScrollBar   (USER32.@)
  *
  * RETURNS STD
@@ -1812,15 +1738,6 @@
 
 
 /*************************************************************************
- *           EnableScrollBar   (USER.482)
- */
-BOOL16 WINAPI EnableScrollBar16( HWND16 hwnd, INT16 nBar, UINT16 flags )
-{
-    return EnableScrollBar( hwnd, nBar, flags );
-}
-
-
-/*************************************************************************
  *           EnableScrollBar   (USER32.@)
  */
 BOOL WINAPI EnableScrollBar( HWND hwnd, INT nBar, UINT flags )