,MPARAM mp1
                   ,MPARAM mp2
                  );
+
+#ifdef  __WXDEBUG__
+    const char *wxGetMessageName(int message);
+#endif  //__WXDEBUG__
+
 void wxRemoveHandleAssociation(wxWindow *win);
 void wxAssociateWinWithHandle(HWND hWnd, wxWindow *win);
 wxWindow *wxFindWinFromHandle(WXHWND hWnd);
 
     parent->AddChild(this);
 
+    bool want3D;
+    WXDWORD exStyle = 0; // TODO: Determine3DEffects(WS_EX_CLIENTEDGE, &want3D);
+    DWORD   msflags = 0;
+
+
     // TODO: PM Specific initialization
     OS2Create(m_windowId, parent, wxCanvasClassName, this, NULL,
               pos.x, pos.y,
     // TODO:
 }
 
-wxWindow* wxWindow::FindFocus()
+wxWindow* wxWindowBase::FindFocus()
 {
     wxWindow*                       window = NULL;
     // TODO:
 
 void wxWindow::SetTitle( const wxString& title)
 {
-    SetWindowText(GetHwnd(), title.c_str());
+// TODO:    SetWindowText(GetHwnd(), title.c_str());
 }
 
 wxString wxWindow::GetTitle() const
     // TODO:
     return(1);
 }
+#endif // WXWIN_COMPATIBILITY
 
 int  wxWindow::GetScrollPos(int orient) const
 {
 void wxWindow::UnpackCtlColor(WXWPARAM wParam, WXLPARAM lParam,
                               WXWORD *nCtlColor, WXHDC *hdc, WXHWND *hwnd)
 {
-    *nCtlColor = CTLCOLOR_BTN;
+    *nCtlColor = 0; // TODO: CTLCOLOR_BTN;
     *hwnd = (WXHWND)lParam;
     *hdc = (WXHDC)wParam;
 }
 void wxWindow::UnpackMenuSelect(WXWPARAM wParam, WXLPARAM lParam,
                                 WXWORD *item, WXWORD *flags, WXHMENU *hmenu)
 {
-    *item = (WXWORD)wParam;
+    *item = (WXWORD)LOWORD(wParam);
     *flags = HIWORD(wParam);
     *hmenu = (WXHMENU)lParam;
 }
     {
         // FIXME: why do we do this?
         wnd->SetHWND((WXHWND) hWnd);
-        rc = wnd->OS2DefWindowProc(message, wParam, lParam );
+        rc = wnd->OS2DefWindowProc(hWnd, message, wParam, lParam );
         wnd->SetHWND(0);
     }
     else
         if ( wnd )
             rc = wnd->OS2WindowProc(hWnd, message, wParam, lParam);
         else
-            rc = DefWindowProc( hWnd, message, wParam, lParam );
+            rc = 0; //TODO: DefWindowProc( hWnd, message, wParam, lParam );
     }
 
     return rc;
         rc.result = MSWDefWindowProc(message, wParam, lParam);
     }
 */
-    return rc.result;
+    return (MRESULT)0;
 }
 
 // Dialog window proc
-MRESULT wxDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+MRESULT wxDlgProc(HWND hWnd, UINT message, MPARAM wParam, MPARAM lParam)
 {
    // TODO:
 /*
     return (MRESULT)0;
 }
 
-wxList *wxWinHandleList = NULL;
 wxWindow *wxFindWinFromHandle(WXHWND hWnd)
 {
     wxNode *node = wxWinHandleList->Find((long)hWnd);
 #if wxUSE_DRAG_AND_DROP
     if ( m_dropTarget != NULL )
     {
-        m_dropTarget->Revoke(m_hWnd);
+//        m_dropTarget->Revoke(m_hWnd);
 
         delete m_dropTarget;
         m_dropTarget = NULL;
                               bool WXUNUSED(minimized),
                               WXHWND WXUNUSED(activate))
 {
+    // TODO:
+    /*
     wxActivateEvent event(wxEVT_ACTIVATE,
                           (state == WA_ACTIVE) || (state == WA_CLICKACTIVE),
                           m_windowId);
     event.SetEventObject(this);
 
     return GetEventHandler()->ProcessEvent(event);
+    */
+    return FALSE;
 }
 
 bool wxWindow::HandleSetFocus(WXHWND WXUNUSED(hwnd))
     if ( GetHWND() == hWnd )
     {
         // don't set cursor when the mouse is not in the client part
+// TODO
+/*
         if ( nHitTest == HTCLIENT || nHitTest == HTERROR )
         {
             HCURSOR hcursor = 0;
                 return TRUE;
             }
         }
+*/
     }
 
     return FALSE;
 // owner drawn stuff
 // ---------------------------------------------------------------------------
 
-bool wxWindow::MSWOnDrawItem(int id, WXDRAWITEMSTRUCT *itemStruct)
+bool wxWindow::OS2OnDrawItem(int id, WXDRAWITEMSTRUCT *itemStruct)
 {
    // TODO:
 /*
                               WXLPARAM lParam)
 {
     WXHBRUSH hBrush = 0;
-
+// TODO:
+/*
     if ( nCtlColor == CTLCOLOR_DLG )
     {
         hBrush = OnCtlColor(pDC, pWnd, nCtlColor, message, wParam, lParam);
         *brush = hBrush;
 
     return hBrush != 0;
+*/
+    return FALSE;
 }
 
 // Define for each class of dialog and control
 bool wxWindow::HandlePaint()
 {
    // TODO:
-   Return FALSE;
+   return FALSE;
 }
 
 bool wxWindow::HandleEraseBkgnd(WXHDC hdc)
 {
     // Prevents flicker when dragging
-    if ( ::IsIconic(GetHwnd()) )
-        return TRUE;
+//  if ( ::IsIconic(GetHwnd()) )
+//      return TRUE;
 
     wxDC dc;
 
 
 bool wxWindow::HandleGetMinMaxInfo(void *mmInfo)
 {
+// TODO:
+/*
     MINMAXINFO *info = (MINMAXINFO *)mmInfo;
 
     bool rc = FALSE;
     }
 
     return rc;
+*/
+    return FALSE;
 }
 
 // ---------------------------------------------------------------------------
         wxMenu *popupMenu = wxCurrentPopupMenu;
         wxCurrentPopupMenu = NULL;
 
-        return popupMenu->MSWCommand(cmd, id);
+        return popupMenu->OS2Command(cmd, id);
     }
 
     wxWindow *win = FindItem(id);
     }
 
     if ( win )
-        return win->MSWCommand(cmd, id);
+        return win->OS2Command(cmd, id);
 
     return FALSE;
 }
 
 void wxWindow::InitMouseEvent(wxMouseEvent& event, int x, int y, WXUINT flags)
 {
+// TODO:
+/*
     event.m_x = x;
     event.m_y = y;
     event.m_shiftDown = ((flags & MK_SHIFT) != 0);
     m_lastMouseY = y;
     m_lastMouseEvent = event.GetEventType();
 #endif // wxUSE_MOUSEEVENT_HACK
-
+*/
 }
 
 bool wxWindow::HandleMouseEvent(WXUINT msg, int x, int y, WXUINT flags)
     {
         wxWindow *child = wxFindWinFromHandle(control);
         if ( child )
-            return child->MSWOnScroll(orientation, wParam, pos, control);
+            return child->OS2OnScroll(orientation, wParam, pos, control);
     }
 
     wxScrollWinEvent event;
 
 // Windows keyboard hook. Allows interception of e.g. F1, ESCAPE
 // in active frames and dialogs, regardless of where the focus is.
-static HHOOK wxTheKeyboardHook = 0;
-static FARPROC wxTheKeyboardHookProc = 0;
+//static HHOOK wxTheKeyboardHook = 0;
+//static FARPROC wxTheKeyboardHookProc = 0;
 int wxKeyboardHook(int nCode, WORD wParam, DWORD lParam);
 
 void wxSetKeyboardHook(bool doIt)
    return NULL;
 }
 
+#endif // __WXDEBUG__
+