Revised: February 25, 1993
   Added WIN32 Support. Note that CTL3D32.DLL does not support
   combo boxes and list boxes at this time.
   This will be fixed in a later release.

Revised: March 17, 1993
   Built for March Beta. List boxes and combo boxes now working.
   Edit controls in the common dialogs dont.
   This will be fixed in a later release.

For applications running on WIN32 link the application with CTL3D32.LIB

For applications running on WIN32 the application must call Ctl3dCtlColorEx for the 
WM_CTLCOLORBTN,  WM_CTLCOLORDLG, WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, 
WM_CTLCOLORMSGBOX, WM_CTLCOLORSCROLLBAR, and WM_CTLCOLORSTATIC 
messages. For example:

	case WM_CTLCOLORBTN:
	case WM_CTLCOLORDLG:
	case WM_CTLCOLOREDIT:
	case WM_CTLCOLORLISTBOX:
	case WM_CTLCOLORMSGBOX:
	case WM_CTLCOLORSCROLLBAR:
	case WM_CTLCOLORSTATIC:
   return Ctl3dCtlColorEx(wm, wParam, lParam);

If your application uses controls outside of dialog boxes, it must use Ctl3dSubclassCtl to subclass these 
controls individually. When an application calls Ctl3dCtlColorEx from a window procedure instead of a 
dialog procedure, it should use the following code:

    #ifdef WIN32
    case WM_CTLCOLORBTN:
    case WM_CTLCOLORDLG:
    case WM_CTLCOLOREDIT:
    case WM_CTLCOLORLISTBOX:
    case WM_CTLCOLORMSGBOX:
    case WM_CTLCOLORSCROLLBAR:
    case WM_CTLCOLORSTATIC:
    #else
    case WM_CTLCOLOR:
    #endif
       hbrush = Ctl3dCtlColorEx(wm, wParam, lParam)
       if (hbrush != (HBRUSH) fFalse)
          return hbrush;
       else
          return DefWindowProc(hwnd, wm, wParam, lParam);
