Release 970215

Sat Feb 15 11:59:17 1997  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [*/*]
	Converted a lot of functions to Win32 types.
	Removed HWND type.

Fri Feb 14 15:09:19 1997  Onno Hovers <onno@stack.nl>

	* [memory/global.c]
	Implemented GMEM_MOVEABLE blocks for Win32.

Fri Feb 14 00:24:39 1997  Alex Korobka <alex@trantor.pharm.sunysb.edu>

	* [loader/task.c] [windows/queue.c]
	Do not read X events while in the intertask SendMessage().

	* [misc/lstr.c]
	Fixed CharPrev32A().

	* [windows/hook.c] [include/hook.h]
	Restored broken WH_CALLWNDPROC functionality for dialogs, etc...

	* [windows/win.c] [windows/defwnd.c] [windows/mdi.c]
	  [windows/event.c] [controls/edit.c] 
	Added WIN_ISWIN32 flag to windows created by Win32 calls. 
	Several new Win32 messages are sent when this flag is on.
	
	* [msdos/dosmem.c] [memory/global.c]
	Some changes in DOS memory allocation.

Fri Feb  7 21:46:03 1997  Andrew Taylor  <andrew@riscan.com>

	* [win32/security.c]
	Added SID manipulation functions.

	* [include/debug.h]
	Added debugging class "security".

Fri  Feb 7 20:46:33 1997  Robert Pouliot <krynos@clic.net>

	* [debugger/msc.c] [debugger/source.c] 
	  [documentation/wine_os2.txt] [loader/signal.c]
	Some more changes for OS/2. Doesn't work yet.

Fri  Feb 7 09:31:17 1997  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [scheduler/process.c]
	Added ExpandEnvironmentStrings*.

	* [misc/ntdll.c] [include/ntdll.h]
	Added some new functions.

	* [objects/cursoricon.c]
	CURSORICON_LoadHandler: check against some bizarre out of memory
	conditions.
	
	* [windows/mdi.c]
	Fixed DefFrameProc32*, added TranslateMDISysAccel32.

Wed Feb  5 01:31:05 1997  John Zero <john@globe.graphisoft.hu>

	* [resources/sysres_Hu.rc] [misc/ole2nls.c] [misc/main.c]
	  [programs/progman/Hu.rc] [programs/winhelp/Hu.rc]
	Added Hungarian language support.
diff --git a/controls/button.c b/controls/button.c
index b9bbe05..92759b7 100644
--- a/controls/button.c
+++ b/controls/button.c
@@ -268,10 +268,10 @@
     Rectangle32(hDC, rc.left, rc.top, rc.right, rc.bottom);
     if (action == ODA_DRAWENTIRE)
     {
-        SetPixel32( hDC, rc.left, rc.top, GetSysColor(COLOR_WINDOW) );
-        SetPixel32( hDC, rc.left, rc.bottom-1, GetSysColor(COLOR_WINDOW) );
-        SetPixel32( hDC, rc.right-1, rc.top, GetSysColor(COLOR_WINDOW) );
-        SetPixel32( hDC, rc.right-1, rc.bottom-1, GetSysColor(COLOR_WINDOW) );
+        SetPixel32( hDC, rc.left, rc.top, GetSysColor32(COLOR_WINDOW) );
+        SetPixel32( hDC, rc.left, rc.bottom-1, GetSysColor32(COLOR_WINDOW) );
+        SetPixel32( hDC, rc.right-1, rc.top, GetSysColor32(COLOR_WINDOW) );
+        SetPixel32( hDC, rc.right-1, rc.bottom-1, GetSysColor32(COLOR_WINDOW));
     }
     InflateRect32( &rc, -1, -1 );
 
@@ -298,13 +298,14 @@
         LOGBRUSH16 lb;
         GetObject16( sysColorObjects.hbrushBtnFace, sizeof(lb), &lb );
         if (wndPtr->dwStyle & WS_DISABLED &&
-            GetSysColor(COLOR_GRAYTEXT)==lb.lbColor)
+            GetSysColor32(COLOR_GRAYTEXT)==lb.lbColor)
             /* don't write gray text on gray bkg */
             PB_PaintGrayOnGray(hDC,infoPtr->hFont,&rc,wndPtr->text);
         else
         {
             SetTextColor( hDC, (wndPtr->dwStyle & WS_DISABLED) ?
-                     GetSysColor(COLOR_GRAYTEXT) : GetSysColor(COLOR_BTNTEXT));
+                                GetSysColor32(COLOR_GRAYTEXT) :
+                                GetSysColor32(COLOR_BTNTEXT) );
             DrawText32A( hDC, wndPtr->text, -1, &rc,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER );
             /* do we have the focus? */
@@ -416,7 +417,7 @@
         if( textlen && action != ODA_SELECT )
         {
             if (wndPtr->dwStyle & WS_DISABLED)
-                SetTextColor( hDC, GetSysColor(COLOR_GRAYTEXT) );
+                SetTextColor( hDC, GetSysColor32(COLOR_GRAYTEXT) );
             DrawText16( hDC, wndPtr->text, textlen, &rtext,
                         DT_SINGLELINE | DT_VCENTER );
         }
@@ -485,7 +486,7 @@
 
     if (!wndPtr->text) return;
     if (wndPtr->dwStyle & WS_DISABLED)
-        SetTextColor( hDC, GetSysColor(COLOR_GRAYTEXT) );
+        SetTextColor( hDC, GetSysColor32(COLOR_GRAYTEXT) );
     rc.left += 10;
     DrawText16( hDC, wndPtr->text, -1, &rc, DT_SINGLELINE | DT_NOCLIP );
 }
diff --git a/controls/combo.c b/controls/combo.c
index 5ece877..72aca44 100644
--- a/controls/combo.c
+++ b/controls/combo.c
@@ -38,8 +38,8 @@
 #define CBLMM_EDGE   4    /* distance inside box which is same as moving mouse
 			     outside box, to trigger scrolling of CBL */
 
-static BOOL CBCheckSize(HWND hwnd);
-static BOOL CBLCheckSize(HWND hwnd);
+static BOOL CBCheckSize(HWND16 hwnd);
+static BOOL CBLCheckSize(HWND16 hwnd);
 
 static HBITMAP16 hComboBit = 0;
 static WORD CBitHeight, CBitWidth;
@@ -56,17 +56,17 @@
   return 0;
 }
 
-LPHEADCOMBO ComboGetStorageHeader(HWND hwnd)
+LPHEADCOMBO ComboGetStorageHeader(HWND16 hwnd)
 {
   return (LPHEADCOMBO)GetWindowLong32A(hwnd,4);
 }
 
-LPHEADLIST ComboGetListHeader(HWND hwnd)
+LPHEADLIST ComboGetListHeader(HWND16 hwnd)
 {
   return (LPHEADLIST)GetWindowLong32A(hwnd,0);
 }
 
-int CreateComboStruct(HWND hwnd, LONG style)
+int CreateComboStruct(HWND16 hwnd, LONG style)
 {
   LPHEADCOMBO lphc;
 
@@ -81,7 +81,7 @@
   return TRUE;
 }
 
-void ComboUpdateWindow(HWND hwnd, LPHEADLIST lphl, LPHEADCOMBO lphc, BOOL repaint)
+void ComboUpdateWindow(HWND16 hwnd, LPHEADLIST lphl, LPHEADCOMBO lphc, BOOL repaint)
 {
   WND *wndPtr = WIN_FindWndPtr(hwnd);
 
@@ -93,7 +93,7 @@
 /***********************************************************************
  *           CBNCCreate
  */
-static LRESULT CBNCCreate(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBNCCreate(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   CREATESTRUCT16 *createStruct;
 
@@ -111,7 +111,7 @@
 /***********************************************************************
  *           CBCreate
  */
-static LRESULT CBCreate(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBCreate(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST   lphl;
   LPHEADCOMBO  lphc;
@@ -121,7 +121,7 @@
   WND*         wndPtr = WIN_FindWndPtr(hwnd);
   char className[] = "COMBOLBOX";  /* Hack so that class names are > 0x10000 */
   char editName[] = "EDIT";
-  HWND hwndp=0;
+  HWND16 hwndp=0;
 
   /* translate combo into listbox styles */
   cstyle |= WS_BORDER;
@@ -205,7 +205,7 @@
 /***********************************************************************
  *           CBDestroy
  */
-static LRESULT CBDestroy(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBDestroy(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
 
@@ -217,7 +217,7 @@
 /***********************************************************************
  *           CBPaint
  */
-static LRESULT CBPaint(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBPaint(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
@@ -277,7 +277,7 @@
 /***********************************************************************
  *           CBGetDlgCode
  */
-static LRESULT CBGetDlgCode(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetDlgCode(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   return DLGC_WANTARROWS | DLGC_WANTCHARS;
 }
@@ -285,7 +285,7 @@
 /***********************************************************************
  *           CBLButtonDown
  */
-static LRESULT CBLButtonDown(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBLButtonDown(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
   SendMessage16(hwnd,CB_SHOWDROPDOWN16,!lphc->DropDownVisible,0);
@@ -295,7 +295,7 @@
 /***********************************************************************
  *           CBKeyDown
  */
-static LRESULT CBKeyDown(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBKeyDown(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   WORD       newFocused = lphl->ItemFocused;
@@ -335,7 +335,7 @@
 /***********************************************************************
  *           CBChar
  */
-static LRESULT CBChar(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBChar(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   WORD       newFocused;
@@ -361,7 +361,7 @@
 /***********************************************************************
  *           CBKillFocus
  */
-static LRESULT CBKillFocus(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBKillFocus(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   return 0;
 }
@@ -369,7 +369,7 @@
 /***********************************************************************
  *           CBSetFocus
  */
-static LRESULT CBSetFocus(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSetFocus(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   return 0;
 }
@@ -377,7 +377,7 @@
 /***********************************************************************
  *           CBResetContent
  */
-static LRESULT CBResetContent(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBResetContent(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
@@ -390,7 +390,7 @@
 /***********************************************************************
  *           CBDir
  */
-static LRESULT CBDir(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBDir(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   WORD wRet;
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
@@ -404,7 +404,7 @@
 /***********************************************************************
  *           CBInsertString
  */
-static LRESULT CBInsertString(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBInsertString(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   WORD  wRet;
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
@@ -421,7 +421,7 @@
 /***********************************************************************
  *           CBAddString
  */
-static LRESULT CBAddString(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBAddString(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   WORD  wRet;
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
@@ -436,7 +436,7 @@
 /***********************************************************************
  *           CBDeleteString
  */
-static LRESULT CBDeleteString(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBDeleteString(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
@@ -449,7 +449,7 @@
 /***********************************************************************
  *           CBSelectString
  */
-static LRESULT CBSelectString(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSelectString(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   WORD  wRet;
@@ -464,7 +464,7 @@
 /***********************************************************************
  *           CBFindString
  */
-static LRESULT CBFindString(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBFindString(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return ListBoxFindString(lphl, wParam, (SEGPTR)lParam);
@@ -473,7 +473,7 @@
 /***********************************************************************
  *           CBFindStringExact
  */
-static LRESULT CBFindStringExact(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBFindStringExact(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return ListBoxFindStringExact(lphl, wParam, (SEGPTR)lParam);
@@ -482,7 +482,7 @@
 /***********************************************************************
  *           CBGetCount
  */
-static LRESULT CBGetCount(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetCount(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return lphl->ItemsCount;
@@ -491,7 +491,7 @@
 /***********************************************************************
  *           CBSetCurSel
  */
-static LRESULT CBSetCurSel(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSetCurSel(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   WORD  wRet;
@@ -509,7 +509,7 @@
 /***********************************************************************
  *           CBGetCurSel
  */
-static LRESULT CBGetCurSel(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetCurSel(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return lphl->ItemFocused;
@@ -518,7 +518,7 @@
 /***********************************************************************
  *           CBGetItemHeight
  */
-static LRESULT CBGetItemHeight(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetItemHeight(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   LPLISTSTRUCT lpls = ListBoxGetItem (lphl, wParam);
@@ -530,7 +530,7 @@
 /***********************************************************************
  *           CBSetItemHeight
  */
-static LRESULT CBSetItemHeight(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSetItemHeight(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return ListBoxSetItemHeight(lphl, wParam, lParam);
@@ -539,7 +539,7 @@
 /***********************************************************************
  *           CBSetRedraw
  */
-static LRESULT CBSetRedraw(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSetRedraw(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   lphl->bRedrawFlag = wParam;
@@ -549,7 +549,7 @@
 /***********************************************************************
  *           CBSetFont
  */
-static LRESULT CBSetFont(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSetFont(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST  lphl = ComboGetListHeader(hwnd);
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
@@ -566,7 +566,7 @@
 /***********************************************************************
  *           CBGetLBTextLen
  */
-static LRESULT CBGetLBTextLen(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetLBTextLen(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST   lphl = ComboGetListHeader(hwnd);
   LPLISTSTRUCT lpls = ListBoxGetItem(lphl,wParam);
@@ -578,7 +578,7 @@
 /***********************************************************************
  *           CBGetLBText
  */
-static LRESULT CBGetLBText(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetLBText(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return ListBoxGetText(lphl, wParam, (LPSTR)PTR_SEG_TO_LIN(lParam));
@@ -587,7 +587,7 @@
 /***********************************************************************
  *           CBGetItemData
  */
-static LRESULT CBGetItemData(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetItemData(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return ListBoxGetItemData(lphl, wParam);
@@ -596,7 +596,7 @@
 /***********************************************************************
  *           CBSetItemData
  */
-static LRESULT CBSetItemData(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSetItemData(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
   return ListBoxSetItemData(lphl, wParam, lParam);
@@ -605,7 +605,7 @@
 /***********************************************************************
  *           CBShowDropDown
  */
-static LRESULT CBShowDropDown(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBShowDropDown(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
   RECT32 rect;
@@ -628,7 +628,7 @@
 /***********************************************************************
  *             CBCheckSize
  */
-static BOOL CBCheckSize(HWND hwnd)
+static BOOL CBCheckSize(HWND16 hwnd)
 {
   LPHEADCOMBO  lphc = ComboGetStorageHeader(hwnd);
   LPHEADLIST   lphl = ComboGetListHeader(hwnd);
@@ -690,7 +690,7 @@
 /***********************************************************************
  *           CBCommand        
  */
-static LRESULT CBCommand(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBCommand(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
   LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
   LPHEADLIST lphl = ComboGetListHeader(hwnd);
@@ -750,7 +750,7 @@
  *           CBGetEditSel
  * Look out! Under Win32, the parameter packing is very different.
  */
-static LRESULT CBGetEditSel(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetEditSel(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
     LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
 
@@ -764,7 +764,7 @@
  *           CBSetEditSel
  * Look out! Under Win32, the parameter packing is very different.
  */
-static LRESULT CBSetEditSel(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBSetEditSel(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
     LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
 
@@ -776,7 +776,7 @@
 /***********************************************************************
  *           CBGetText
  */
-static LRESULT CBGetText(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
+static LRESULT CBGetText(HWND16 hwnd, WPARAM16 wParam, LPARAM lParam)
 {
     LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
 
@@ -786,7 +786,7 @@
 /***********************************************************************
  *           ComboWndProc
  */
-LRESULT ComboBoxWndProc(HWND hwnd, UINT message, WPARAM16 wParam, LPARAM lParam)
+LRESULT ComboBoxWndProc(HWND16 hwnd, UINT message, WPARAM16 wParam, LPARAM lParam)
 {
     switch(message) {	
      case WM_NCCREATE: return CBNCCreate(hwnd, wParam, lParam);
@@ -831,12 +831,12 @@
 /*--------------------------------------------------------------------*/
 /* ComboLBox code starts here */
 
-HWND CLBoxGetCombo(HWND hwnd)
+HWND16 CLBoxGetCombo(HWND16 hwnd)
 {
-  return (HWND)GetWindowLong32A(hwnd,0);
+  return (HWND16)GetWindowLong32A(hwnd,0);
 }
 
-LPHEADLIST CLBoxGetListHeader(HWND hwnd)
+LPHEADLIST CLBoxGetListHeader(HWND16 hwnd)
 {
   return ComboGetListHeader(CLBoxGetCombo(hwnd));
 }
@@ -844,7 +844,7 @@
 /***********************************************************************
  *           CBLCreate
  */
-static LRESULT CBLCreate( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLCreate( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   CREATESTRUCT16 *createStruct = (CREATESTRUCT16 *)PTR_SEG_TO_LIN(lParam);
   SetWindowLong32A(hwnd,0,(LONG)createStruct->lpCreateParams);
@@ -854,7 +854,7 @@
 /***********************************************************************
  *           CBLGetDlgCode
  */
-static LRESULT CBLGetDlgCode( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLGetDlgCode( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   return DLGC_WANTARROWS | DLGC_WANTCHARS;
 }
@@ -862,7 +862,7 @@
 /***********************************************************************
  *           CBLKeyDown
  */
-static LRESULT CBLKeyDown( HWND hwnd, WPARAM16 wParam, LPARAM lParam ) 
+static LRESULT CBLKeyDown( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam ) 
 {
   LPHEADLIST lphl = CLBoxGetListHeader(hwnd);
   WORD newFocused = lphl->ItemFocused;
@@ -910,7 +910,7 @@
 /***********************************************************************
  *           CBLChar
  */
-static LRESULT CBLChar( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLChar( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   return 0;
 }
@@ -918,7 +918,7 @@
 /***********************************************************************
  *           CBLPaint
  */
-static LRESULT CBLPaint( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLPaint( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   LPHEADLIST   lphl = CLBoxGetListHeader(hwnd);
   LPLISTSTRUCT lpls;
@@ -926,7 +926,7 @@
   HBRUSH32 hBrush;
   HFONT32 hOldFont;
   WND * wndPtr = WIN_FindWndPtr(hwnd);
-  HWND  combohwnd = CLBoxGetCombo(hwnd);
+  HWND16  combohwnd = CLBoxGetCombo(hwnd);
   HDC16 hdc;
   RECT16 rect;
   int   i, top, height;
@@ -1000,7 +1000,7 @@
 /***********************************************************************
  *           CBLKillFocus
  */
-static LRESULT CBLKillFocus( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLKillFocus( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
 /*  SendMessage16(CLBoxGetCombo(hwnd),CB_SHOWDROPDOWN16,0,0);*/
   return 0;
@@ -1009,7 +1009,7 @@
 /***********************************************************************
  *           CBLActivate
  */
-static LRESULT CBLActivate( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLActivate( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   if (wParam == WA_INACTIVE)
     SendMessage16(CLBoxGetCombo(hwnd),CB_SHOWDROPDOWN16,0,0);
@@ -1019,7 +1019,7 @@
 /***********************************************************************
  *           CBLLButtonDown
  */
-static LRESULT CBLLButtonDown( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLLButtonDown( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   LPHEADLIST lphl = CLBoxGetListHeader(hwnd);
   int        y;
@@ -1044,7 +1044,7 @@
 /***********************************************************************
  *           CBLLButtonUp
  */
-static LRESULT CBLLButtonUp( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLLButtonUp( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   LPHEADLIST lphl = CLBoxGetListHeader(hwnd);
 
@@ -1069,7 +1069,7 @@
 /***********************************************************************
  *           CBLMouseMove
  */
-static LRESULT CBLMouseMove( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLMouseMove( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   LPHEADLIST lphl = CLBoxGetListHeader(hwnd);
   short y;
@@ -1116,7 +1116,7 @@
 /***********************************************************************
  *           CBLVScroll
  */
-static LRESULT CBLVScroll( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
+static LRESULT CBLVScroll( HWND16 hwnd, WPARAM16 wParam, LPARAM lParam )
 {
   LPHEADLIST lphl = CLBoxGetListHeader(hwnd);
   int  y;
@@ -1165,12 +1165,12 @@
 /***********************************************************************
  *             CBLCheckSize
  */
-static BOOL CBLCheckSize(HWND hwnd)
+static BOOL CBLCheckSize(HWND16 hwnd)
 {
   LPHEADCOMBO  lphc = ComboGetStorageHeader(hwnd);
   LPHEADLIST   lphl = ComboGetListHeader(hwnd);
   LPLISTSTRUCT lpls;
-  HWND         hWndLBox;
+  HWND16         hWndLBox;
   RECT16 cRect,wRect,lRect,lwRect;
   int totheight,dw;
   char className[80];
@@ -1218,7 +1218,7 @@
 /***********************************************************************
  *           ComboLBoxWndProc
  */
-LRESULT ComboLBoxWndProc(HWND hwnd, UINT message, WPARAM16 wParam, LPARAM lParam)
+LRESULT ComboLBoxWndProc(HWND16 hwnd, UINT message, WPARAM16 wParam, LPARAM lParam)
 {
     switch(message) {	
      case WM_CREATE: return CBLCreate(hwnd, wParam, lParam);
diff --git a/controls/desktop.c b/controls/desktop.c
index 895fec4..db876a8 100644
--- a/controls/desktop.c
+++ b/controls/desktop.c
@@ -92,7 +92,7 @@
     {
 	  /* Set colors in case pattern is a monochrome bitmap */
 	SetBkColor( hdc, RGB(0,0,0) );
-	SetTextColor( hdc, GetSysColor(COLOR_BACKGROUND) );
+	SetTextColor( hdc, GetSysColor32(COLOR_BACKGROUND) );
 	FillRect32( hdc, &rect, infoPtr->hbrushPattern );
     }
 
@@ -159,7 +159,7 @@
 	ExitWindows16( 0, 0 ); 
 
     case WM_SETCURSOR:
-        return (LRESULT)SetCursor( LoadCursor16( 0, IDC_ARROW ) );
+        return (LRESULT)SetCursor16( LoadCursor16( 0, IDC_ARROW ) );
     }
     
     return 0;
@@ -247,7 +247,7 @@
 	infoPtr->hbrushPattern = CreatePatternBrush32( hbitmap );
 	DeleteObject32( hbitmap );
     }
-    else infoPtr->hbrushPattern = CreateSolidBrush32( GetSysColor(COLOR_BACKGROUND) );
+    else infoPtr->hbrushPattern = CreateSolidBrush32( GetSysColor32(COLOR_BACKGROUND) );
     return TRUE;
 }
 
diff --git a/controls/edit.c b/controls/edit.c
index b333222..8e7b59f 100644
--- a/controls/edit.c
+++ b/controls/edit.c
@@ -98,7 +98,7 @@
 	INT32 SelStart;		/* offset of selection start, == SelEnd if no selection */
 	INT32 SelEnd;		/* offset of selection end == current caret position */
 	INT32 NumTabStops;
-	LPINT16 TabStops;
+	LPINT32 TabStops;
 	/*
 	 *	FIXME: The following should probably be a (VOID *) that is
 	 *	typecast to either 16- or 32-bit callback when used,
@@ -667,15 +667,8 @@
 		lResult = EDIT_WM_Command(wndPtr, wParam, lParam);
 		break;
 
-/*
- *	FIXME: when this one is added to WINE, change RBUTTONUP to CONTEXTMENU
- *	Furthermore, coordinate conversion should no longer be required
- *
- *	case WM_CONTEXTMENU:
- */
- 	case WM_RBUTTONUP:
-		DPRINTF_EDIT_MSG32("WM_RBUTTONUP");
-		ClientToScreen16(wndPtr->hwndSelf, (LPPOINT16)&lParam);
+ 	case WM_CONTEXTMENU:
+		DPRINTF_EDIT_MSG32("WM_CONTEXTMENU");
 		lResult = EDIT_WM_ContextMenu(wndPtr, wParam, lParam);
 		break;
 
@@ -865,7 +858,7 @@
 		es->LineDefs[0].offset = 0;
 		es->LineDefs[0].length = EDIT_WM_GetTextLength(wndPtr, 0, 0);
 		es->LineDefs[0].ending = END_0;
-		es->TextWidth = (INT32)LOWORD(GetTabbedTextExtent(hdc, text,
+		es->TextWidth = (INT32)LOWORD(GetTabbedTextExtent32A(hdc, text,
 					es->LineDefs[0].length,
 					es->NumTabStops, es->TabStops));
 	} else {
@@ -882,7 +875,7 @@
 				ending = END_HARD;
 				length = cp - start;
 			}
-			width = (INT32)LOWORD(GetTabbedTextExtent(hdc, start, length,
+			width = (INT32)LOWORD(GetTabbedTextExtent32A(hdc, start, length,
 						es->NumTabStops, es->TabStops));
 
 			if (IsWordWrap(wndPtr) && (width > ww)) {
@@ -891,7 +884,7 @@
 					prev = next;
 					next = EDIT_CallWordBreakProc(wndPtr, start,
 							prev + 1, length, WB_RIGHT);
-					width = (INT32)LOWORD(GetTabbedTextExtent(hdc, start, next,
+					width = (INT32)LOWORD(GetTabbedTextExtent32A(hdc, start, next,
 							es->NumTabStops, es->TabStops));
 				} while (width <= ww);
 				if (!prev) {
@@ -899,7 +892,7 @@
 					do {
 						prev = next;
 						next++;
-						width = (INT32)LOWORD(GetTabbedTextExtent(hdc, start, next,
+						width = (INT32)LOWORD(GetTabbedTextExtent32A(hdc, start, next,
 								es->NumTabStops, es->TabStops));
 					} while (width <= ww);
 					if(!prev) prev = 1;
@@ -911,7 +904,7 @@
 					ending = END_DELIMIT;
 				} else
 					ending = END_NONE;
-				width = (INT32)LOWORD(GetTabbedTextExtent(hdc, start, length,
+				width = (INT32)LOWORD(GetTabbedTextExtent32A(hdc, start, length,
 							es->NumTabStops, es->TabStops));
 			}
 
@@ -1786,13 +1779,13 @@
 	BkColor = GetBkColor32(hdc);
 	TextColor = GetTextColor32(hdc);
 	if (rev) {
-		SetBkColor(hdc, GetSysColor(COLOR_HIGHLIGHT));
-		SetTextColor(hdc, GetSysColor(COLOR_HIGHLIGHTTEXT));
+		SetBkColor(hdc, GetSysColor32(COLOR_HIGHLIGHT));
+		SetTextColor(hdc, GetSysColor32(COLOR_HIGHLIGHTTEXT));
 	}
 	text = EDIT_GetPasswordPointer(wndPtr);
 	li = (INT32)EDIT_EM_LineIndex(wndPtr, line, 0);
 	xoff = EDIT_GetXOffset(wndPtr);
-	ret = (INT32)LOWORD(TabbedTextOut(hdc, x, y, text + li + col, count,
+	ret = (INT32)LOWORD(TabbedTextOut32A(hdc, x, y, text + li + col, count,
 					es->NumTabStops, es->TabStops, -xoff));
 	free(text);
 	if (rev) {
@@ -1911,7 +1904,7 @@
 	if (hFont) oldFont = SelectObject32(hdc, hFont);
 	line = MAX(0, MIN(line, lc - 1));
 	col = MIN(col, ll);
-	ret = (INT32)LOWORD(GetTabbedTextExtent(hdc,
+	ret = (INT32)LOWORD(GetTabbedTextExtent32A(hdc,
 			text + li, col,
 			es->NumTabStops, es->TabStops)) - xoff;
 	if (hFont) SelectObject32(hdc, oldFont);
@@ -2910,7 +2903,6 @@
 static LRESULT EDIT_EM_SetTabStops(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
 {
 	EDITSTATE *es = EDITSTATEPTR(wndPtr);
-	INT32 i;
 
 	if (!IsMultiLine(wndPtr))
 		return FALSE;
@@ -2920,9 +2912,9 @@
 	if (!wParam)
 		es->TabStops = NULL;
 	else {
-		es->TabStops = (LPINT16)xmalloc(wParam * sizeof(INT16));
-		for ( i = 0 ; i < (INT32)wParam ; i++ )
-			es->TabStops[i] = (INT16)((LPINT32)lParam)[i];
+		es->TabStops = (LPINT32)xmalloc(wParam * sizeof(INT32));
+		memcpy( es->TabStops, (LPINT32)lParam,
+                        (INT32)wParam * sizeof(INT32) );
 	}
 	return TRUE;
 }
@@ -2936,6 +2928,7 @@
 static LRESULT EDIT_EM_SetTabStops16(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
 {
 	EDITSTATE *es = EDITSTATEPTR(wndPtr);
+	INT32 i;
 
 	if (!IsMultiLine(wndPtr))
 		return FALSE;
@@ -2944,10 +2937,11 @@
 	es->NumTabStops = (INT32)wParam;
 	if (!wParam)
 		es->TabStops = NULL;
-	else {
-		es->TabStops = (LPINT16)xmalloc(wParam * sizeof(INT16));
-		memcpy(es->TabStops, (LPINT16)PTR_SEG_TO_LIN(lParam),
-				(INT32)wParam * sizeof(INT16));
+	else
+        {
+            LPINT16 p = (LPINT16)PTR_SEG_TO_LIN(lParam);
+            es->TabStops = (LPINT32)xmalloc(wParam * sizeof(INT32));
+            for ( i = 0 ; i < (INT32)wParam ; i++) es->TabStops[i] = *p++;
 	}
 	return TRUE;
 }
@@ -3126,10 +3120,10 @@
 	text = EDIT_GetPointer(wndPtr);
 	lstrcpyn32A(dst, text + s, e - s + 1);
 	GlobalUnlock16(hdst);
-	OpenClipboard(wndPtr->hwndSelf);
-	EmptyClipboard();
+	OpenClipboard32(wndPtr->hwndSelf);
+	EmptyClipboard32();
 	SetClipboardData(CF_TEXT, hdst);
-	CloseClipboard();
+	CloseClipboard32();
 	return -1;
 }
 
@@ -3423,7 +3417,7 @@
 		((e - s) && !IsPassword(wndPtr) ? MF_ENABLED : MF_GRAYED));
 	/* paste */
 	EnableMenuItem32(hPopup, 4, MF_BYPOSITION |
-		(IsClipboardFormatAvailable(CF_TEXT) ? MF_ENABLED : MF_GRAYED));
+		(IsClipboardFormatAvailable32(CF_TEXT) ? MF_ENABLED : MF_GRAYED));
 	/* delete */
 	EnableMenuItem32(hPopup, 5, MF_BYPOSITION |
 		((e - s) ? MF_ENABLED : MF_GRAYED));
@@ -3694,7 +3688,7 @@
 		oldFont = (HFONT32)SelectObject32(hdc, hFont);
 	EDIT_SEND_CTLCOLOR(wndPtr, hdc);
 	if (!IsWindowEnabled32(wndPtr->hwndSelf))
-		SetTextColor(hdc, GetSysColor(COLOR_GRAYTEXT));
+		SetTextColor(hdc, GetSysColor32(COLOR_GRAYTEXT));
 	GetClipBox32(hdc, &rcRgn);
 	for (i = fv ; i <= MIN(fv + vlc, fv + lc - 1) ; i++ ) {
 		EDIT_GetLineRect(wndPtr, i, 0, -1, &rcLine);
@@ -3722,13 +3716,13 @@
 	HGLOBAL16 hsrc;
 	LPSTR src;
 
-	OpenClipboard(wndPtr->hwndSelf);
+	OpenClipboard32(wndPtr->hwndSelf);
 	if ((hsrc = GetClipboardData(CF_TEXT))) {
 		src = (LPSTR)GlobalLock16(hsrc);
 		EDIT_EM_ReplaceSel(wndPtr, (WPARAM32)TRUE, (LPARAM)src);
 		GlobalUnlock16(hsrc);
 	}
-	CloseClipboard();
+	CloseClipboard32();
 	return -1;
 }
 
@@ -3741,7 +3735,7 @@
 static LRESULT EDIT_WM_SetCursor(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
 {
 	if (LOWORD(lParam) == HTCLIENT) {
-		SetCursor(LoadCursor16(0, IDC_IBEAM));
+		SetCursor16(LoadCursor16(0, IDC_IBEAM));
 		return -1;
 	} else
 		return 0;
@@ -3763,7 +3757,7 @@
 	EDIT_SetSel(wndPtr, s, e);
 	if(!(wndPtr->dwStyle & ES_NOHIDESEL))
 		EDIT_InvalidateText(wndPtr, s, e);
-	ShowCaret(wndPtr->hwndSelf);
+	ShowCaret32(wndPtr->hwndSelf);
 	dprintf_edit(stddeb, "edit: notification EN_SETFOCUS sent\n");
 	EDIT_NOTIFY_PARENT(wndPtr, EN_SETFOCUS);
 	return 0;
@@ -3800,7 +3794,7 @@
 		DestroyCaret();
 		CreateCaret(wndPtr->hwndSelf, 0, 2, EDIT_GetLineHeight(wndPtr));
 		EDIT_SetSel(wndPtr, s, e);
-		ShowCaret(wndPtr->hwndSelf);
+		ShowCaret32(wndPtr->hwndSelf);
 	}
 	return 0;
 }
diff --git a/controls/listbox.c b/controls/listbox.c
index fd8c665..db00116 100644
--- a/controls/listbox.c
+++ b/controls/listbox.c
@@ -470,16 +470,16 @@
         }
         if (item && item->selected)
         {
-            SetBkColor( hdc, GetSysColor( COLOR_HIGHLIGHT ) );
-            SetTextColor( hdc, GetSysColor( COLOR_HIGHLIGHTTEXT ) );
+            SetBkColor( hdc, GetSysColor32( COLOR_HIGHLIGHT ) );
+            SetTextColor( hdc, GetSysColor32( COLOR_HIGHLIGHTTEXT ) );
         }
         else
         {
-            SetBkColor( hdc, GetSysColor( COLOR_WINDOW ) );
+            SetBkColor( hdc, GetSysColor32( COLOR_WINDOW ) );
             if (wnd->dwStyle & WS_DISABLED)
-                SetTextColor( hdc, GetSysColor( COLOR_GRAYTEXT ) );
+                SetTextColor( hdc, GetSysColor32( COLOR_GRAYTEXT ) );
             else
-                SetTextColor( hdc, GetSysColor( COLOR_WINDOWTEXT ) );
+                SetTextColor( hdc, GetSysColor32( COLOR_WINDOWTEXT ) );
         }
         dprintf_listbox( stddeb, "Listbox %04x: painting %d (%s) action=%02x "
                          "rect=%d,%d-%d,%d\n",
@@ -856,7 +856,7 @@
             if (!IS_OWNERDRAW(descr))
             {
                 /* Clear the bottom of the column */
-                SetBkColor( hdc, GetSysColor( COLOR_WINDOW ) );
+                SetBkColor( hdc, GetSysColor32( COLOR_WINDOW ) );
                 if (rect.top < descr->height)
                 {
                     rect.bottom = descr->height;
@@ -881,7 +881,7 @@
     if (!IS_OWNERDRAW(descr))
     {
         /* Clear the remainder of the client area */
-        SetBkColor( hdc, GetSysColor( COLOR_WINDOW ) );
+        SetBkColor( hdc, GetSysColor32( COLOR_WINDOW ) );
         if (rect.top < descr->height)
         {
             rect.bottom = descr->height;
@@ -1691,8 +1691,8 @@
                             MAKELPARAM( x, y ) );
         if (wnd->dwExStyle & WS_EX_DRAGDETECT)
         {
-            POINT16 pt = { x, y };
-            if (DragDetect( wnd->hwndSelf, pt ))
+            POINT32 pt = { x, y };
+            if (DragDetect32( wnd->hwndSelf, pt ))
                 SendMessage32A( descr->owner, WM_BEGINDRAG, 0, 0 );
         }
     }
diff --git a/controls/menu.c b/controls/menu.c
index bedd677..6f0c071 100644
--- a/controls/menu.c
+++ b/controls/menu.c
@@ -600,18 +600,18 @@
     if (lpitem->item_flags & MF_HILITE)
     {
 	if (lpitem->item_flags & MF_GRAYED)
-	    SetTextColor( hdc, GetSysColor( COLOR_GRAYTEXT ) );
+	    SetTextColor( hdc, GetSysColor32( COLOR_GRAYTEXT ) );
 	else
-	    SetTextColor( hdc, GetSysColor( COLOR_HIGHLIGHTTEXT ) );
-	SetBkColor( hdc, GetSysColor( COLOR_HIGHLIGHT ) );
+	    SetTextColor( hdc, GetSysColor32( COLOR_HIGHLIGHTTEXT ) );
+	SetBkColor( hdc, GetSysColor32( COLOR_HIGHLIGHT ) );
     }
     else
     {
 	if (lpitem->item_flags & MF_GRAYED)
-	    SetTextColor( hdc, GetSysColor( COLOR_GRAYTEXT ) );
+	    SetTextColor( hdc, GetSysColor32( COLOR_GRAYTEXT ) );
 	else
-	    SetTextColor( hdc, GetSysColor( COLOR_MENUTEXT ) );
-	SetBkColor( hdc, GetSysColor( COLOR_MENU ) );
+	    SetTextColor( hdc, GetSysColor32( COLOR_MENUTEXT ) );
+	SetBkColor( hdc, GetSysColor32( COLOR_MENU ) );
     }
 
     if (!menuBar)
@@ -1676,7 +1676,7 @@
 					      PM_NOREMOVE, TRUE ))
 	    break;
 
-        TranslateMessage( &msg );
+        TranslateMessage16( &msg );
         CONV_POINT16TO32( &msg.pt, &pt );
 
         fRemove = FALSE;
@@ -1790,7 +1790,7 @@
 		    if ((msg.wParam <= 32) || (msg.wParam >= 127)) break;
 		    pos = MENU_FindItemByKey( hwnd, hmenuCurrent, msg.wParam );
 		    if (pos == (UINT32)-2) fClosed = TRUE;
-		    else if (pos == (UINT32)-1) MessageBeep(0);
+		    else if (pos == (UINT32)-1) MessageBeep32(0);
 		    else
 		    {
 			MENU_SelectItem( hwnd, hmenuCurrent, pos, TRUE );
@@ -1804,7 +1804,7 @@
 	}
 	else
 	{
-	    DispatchMessage( &msg );
+	    DispatchMessage16( &msg );
 	}
 	if (fEndMenuCalled) fClosed = TRUE;
 	if (!fClosed) fRemove = TRUE;
@@ -1873,7 +1873,7 @@
 
     if (IsMenu32(hMenu))
     {
-	HideCaret(0);
+	HideCaret32(0);
 	SendMessage16( hWnd, WM_ENTERMENULOOP, 0, 0 );
 	SendMessage16( hWnd, WM_INITMENU, hMenu, 0 );
 	if( bTrackSys )
@@ -1882,7 +1882,7 @@
 	    MENU_TrackMenu( hMenu, TPM_LEFTALIGN | TPM_LEFTBUTTON,
 			    pt.x, pt.y, hWnd, NULL );
 	SendMessage16( hWnd, WM_EXITMENULOOP, 0, 0 );
-	ShowCaret(0);
+	ShowCaret32(0);
     }
 }
 
@@ -1911,7 +1911,7 @@
 
     if (IsMenu32( hTrackMenu ))
     {
-        HideCaret(0);
+        HideCaret32(0);
         SendMessage16( wndPtr->hwndSelf, WM_ENTERMENULOOP, 0, 0 );
         SendMessage16( wndPtr->hwndSelf, WM_INITMENU, hTrackMenu, 0 );
 
@@ -1926,7 +1926,7 @@
 		    : MENU_FindItemByKey( wndPtr->hwndSelf, wndPtr->wIDmenu, vkey );
 	    if( uItem >= 0xFFFE )
 	    {
-	        if( uItem == 0xFFFF ) MessageBeep(0);
+	        if( uItem == 0xFFFF ) MessageBeep32(0);
 		htMenu = 0;
 	    }
         }
@@ -1946,12 +1946,10 @@
 
 	    case HTSYSMENU:
 		MENU_TrackSysPopup( wndPtr );
-
-	    default:
 	}
 
         SendMessage16( wndPtr->hwndSelf, WM_EXITMENULOOP, 0, 0 );
-        ShowCaret(0);
+        ShowCaret32(0);
     }
 }
 
@@ -1978,10 +1976,10 @@
 {
     BOOL32 ret = FALSE;
 
-    HideCaret(0);
+    HideCaret32(0);
     if (MENU_ShowPopup( hWnd, hMenu, 0, x, y, 0, 0 )) 
 	ret = MENU_TrackMenu( hMenu, wFlags, 0, 0, hWnd, lpRect );
-    ShowCaret(0);
+    ShowCaret32(0);
     return ret;
 }
 
diff --git a/controls/oldlbox.c b/controls/oldlbox.c
index 1eef33c..87e6a5a 100644
--- a/controls/oldlbox.c
+++ b/controls/oldlbox.c
@@ -57,7 +57,7 @@
   lphl->PrevFocused    = -1;
 }
 
-void CreateListBoxStruct(HWND hwnd, WORD CtlType, LONG styles, HWND parent)
+void CreateListBoxStruct(HWND16 hwnd, WORD CtlType, LONG styles, HWND16 parent)
 {
   LPHEADLIST lphl;
   HDC32         hdc;
@@ -173,7 +173,7 @@
 }
 
 
-void ListBoxDrawItem(HWND hwnd, LPHEADLIST lphl, HDC16 hdc, LPLISTSTRUCT lpls, 
+void ListBoxDrawItem(HWND16 hwnd, LPHEADLIST lphl, HDC16 hdc, LPLISTSTRUCT lpls, 
                      RECT16 *rect, WORD itemAction, WORD itemState)
 {
     if (lphl->OwnerDrawn)
@@ -204,7 +204,7 @@
       }
 
       if (lphl->dwStyle & LBS_USETABSTOPS) {
-	TabbedTextOut(hdc, rect->left + 5, rect->top + 2, 
+	TabbedTextOut16(hdc, rect->left + 5, rect->top + 2, 
 		      (char *)lpls->itemText, strlen((char *)lpls->itemText), 
 		      lphl->iNumStops, lphl->TabStops, 0);
       } else {
diff --git a/controls/static.c b/controls/static.c
index 9184cf5..9842f06 100644
--- a/controls/static.c
+++ b/controls/static.c
@@ -67,7 +67,7 @@
 /***********************************************************************
  *           StaticWndProc
  */
-LRESULT StaticWndProc(HWND hWnd, UINT uMsg, WPARAM16 wParam, LPARAM lParam)
+LRESULT StaticWndProc( HWND16 hWnd, UINT uMsg, WPARAM16 wParam, LPARAM lParam)
 {
     LRESULT lResult = 0;
     WND *wndPtr = WIN_FindWndPtr(hWnd);
@@ -103,14 +103,14 @@
 		break;
             }
 	    /* initialise colours */
-	    color_windowframe  = GetSysColor(COLOR_WINDOWFRAME);
-	    color_background   = GetSysColor(COLOR_BACKGROUND);
-	    color_window       = GetSysColor(COLOR_WINDOW);
+	    color_windowframe  = GetSysColor32(COLOR_WINDOWFRAME);
+	    color_background   = GetSysColor32(COLOR_BACKGROUND);
+	    color_window       = GetSysColor32(COLOR_WINDOW);
 	    break;
 
         case WM_NCDESTROY:
             if (style == SS_ICON)
-                DestroyIcon( STATIC_SetIcon( wndPtr, 0 ) );
+                DestroyIcon32( STATIC_SetIcon( wndPtr, 0 ) );
             else 
                 lResult = DefWindowProc16(hWnd, uMsg, wParam, lParam);
             break;
@@ -126,9 +126,9 @@
 	    break;
 
 	case WM_SYSCOLORCHANGE:
-	    color_windowframe  = GetSysColor(COLOR_WINDOWFRAME);
-	    color_background   = GetSysColor(COLOR_BACKGROUND);
-	    color_window       = GetSysColor(COLOR_WINDOW);
+	    color_windowframe  = GetSysColor32(COLOR_WINDOWFRAME);
+	    color_background   = GetSysColor32(COLOR_BACKGROUND);
+	    color_window       = GetSysColor32(COLOR_WINDOW);
 	    InvalidateRect32( hWnd, NULL, TRUE );
 	    break;
 
@@ -270,13 +270,13 @@
 
 static void STATIC_PaintIconfn( WND *wndPtr, HDC32 hdc )
 {
-    RECT16 rc;
-    HBRUSH16 hbrush;
+    RECT32 rc;
+    HBRUSH32 hbrush;
     STATICINFO *infoPtr = (STATICINFO *)wndPtr->wExtra;
 
-    GetClientRect16( wndPtr->hwndSelf, &rc);
+    GetClientRect32( wndPtr->hwndSelf, &rc );
     hbrush = SendMessage32A( GetParent32(wndPtr->hwndSelf), WM_CTLCOLORSTATIC,
                              hdc, wndPtr->hwndSelf );
-    FillRect16( hdc, &rc, hbrush );
-    if (infoPtr->hIcon) DrawIcon( hdc, rc.left, rc.top, infoPtr->hIcon );
+    FillRect32( hdc, &rc, hbrush );
+    if (infoPtr->hIcon) DrawIcon32( hdc, rc.left, rc.top, infoPtr->hIcon );
 }