]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/nativdlg.cpp
Corrected WM_KEYDOWN bug (missing 'break')
[wxWidgets.git] / src / msw / nativdlg.cpp
index a8b9eb10ccc9078765dcaba0171d2e1065ee7de9..a99be6dbf8fc5944df295a47af47833dfd2e7937 100644 (file)
@@ -58,7 +58,7 @@ bool wxWindow::LoadNativeDialog(wxWindow* parent, wxWindowID& id)
        if (hWndNext)
          child = CreateWindowFromHWND(this, (WXHWND) hWndNext);
 
-    while (hWndNext != NULL)
+    while (hWndNext != (HWND) NULL)
     {
        hWndNext = ::GetWindow(hWndNext, GW_HWNDNEXT);
           if (hWndNext)
@@ -96,7 +96,7 @@ wxWindow* wxWindow::GetWindowChild1(wxWindowID& id)
        if ( m_windowId == id )
                return this;
 
-       wxNode *node = GetChildren()->First();
+       wxNode *node = GetChildren().First();
        while ( node )
        {
                wxWindow* child = (wxWindow*) node->Data();
@@ -139,9 +139,13 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
 #else
 #ifdef UNICODE
        GetClassNameW((HWND) hWnd, buf, 256);
+#else
+#ifdef __TWIN32__
+       GetClassName((HWND) hWnd, buf, 256);
 #else
        GetClassNameA((HWND) hWnd, buf, 256);
 #endif
+#endif
 #endif
 
        wxString str(buf);
@@ -169,12 +173,12 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
                {
                        win = new wxRadioButton;
                }
-#ifdef __WIN32__
+#if defined(__WIN32__) && defined(BS_BITMAP)
                else if (style & BS_BITMAP)
                {
                        // TODO: how to find the bitmap?
                        win = new wxBitmapButton;
-                       wxMessageBox("Have not yet implemented bitmap button as BS_BITMAP button.");
+                       wxLogError("Have not yet implemented bitmap button as BS_BITMAP button.");
                }
 #endif
                else if (style1 == BS_OWNERDRAW)
@@ -199,7 +203,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
                {
                        char buf[256];
                        sprintf(buf, "Don't know what kind of button this is: id = %d", (int) id);
-                       wxMessageBox(buf);
+                       wxLogError(buf);
                }
        }
        else if (str == "COMBOBOX")
@@ -224,7 +228,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
        {
                win = new wxScrollBar;
        }
-#if defined(__WIN95__)
+#if defined(__WIN95__) && !defined(__TWIN32__)
        else if (str == "MSCTLS_UPDOWN32")
        {
                win = new wxSpinButton;
@@ -241,13 +245,13 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
 
                if ((style1 == SS_LEFT) || (style1 == SS_RIGHT) || (style1 == SS_SIMPLE))
                        win = new wxStaticText;
-#ifdef __WIN32__
+#if defined(__WIN32__) && defined(BS_BITMAP)
                else if (style1 == SS_BITMAP)
                {
                        win = new wxStaticBitmap;
 
                        // Help! this doesn't correspond with the wxWin implementation.
-                       wxMessageBox("Please make SS_BITMAP statics into owner-draw buttons.");
+                       wxLogError("Please make SS_BITMAP statics into owner-draw buttons.");
                }
 #endif
        }
@@ -255,7 +259,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd)
        {
                wxString msg("Don't know how to convert from Windows class ");
                msg += str;
-               wxMessageBox(msg);
+               wxLogError(msg);
        }
 
        if (win)