]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/statbmp.cpp
always pass WM_DESTROY to DefWindowProc() - this fixes memory/resource leak for wxListBox
[wxWidgets.git] / src / msw / statbmp.cpp
index 909a09c5325afee6f66e70241dba40d1dcbb3c57..f51c590ce6900871319c77fb04b736557d9f4724 100644 (file)
@@ -28,6 +28,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_STATBMP
+
 #include "wx/window.h"
 #include "wx/msw/private.h"
 
@@ -85,6 +87,12 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id,
     // be ignored by Windows
     wxIcon *icon = (wxIcon *)NULL;
     m_isIcon = bitmap.IsKindOf(CLASSINFO(wxIcon));
+
+#ifdef __WIN16__
+    wxASSERT_MSG( !m_isIcon, "Icons are not supported in wxStaticBitmap under WIN16." );
+#endif
+
+#ifndef __WIN16__
     if ( !m_isIcon )
     {
         const wxBitmap& bmp = (const wxBitmap&)bitmap;
@@ -97,6 +105,7 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id,
             m_isIcon = TRUE;
         }
     }
+#endif
 
 #ifdef __WIN32__
     // create a static control with either SS_BITMAP or SS_ICON style depending
@@ -108,11 +117,16 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id,
     int winstyle = BS_OWNERDRAW;
 #endif // Win32
 
+    if ( m_windowStyle & wxCLIP_SIBLINGS )
+        winstyle |= WS_CLIPSIBLINGS;
+
+
     m_hWnd = (WXHWND)::CreateWindow
                        (
                         classname,
                         wxT(""),
-                        winstyle | WS_CHILD | WS_VISIBLE | WS_DISABLED,
+                        // NOT DISABLED!!! We want to move it in Dialog Editor.
+                        winstyle | WS_CHILD | WS_VISIBLE /* | WS_CLIPSIBLINGS */ , // | WS_DISABLED,
                         0, 0, 0, 0,
                         (HWND)parent->GetHWND(),
                         (HMENU)m_windowId,
@@ -258,3 +272,4 @@ long wxStaticBitmap::MSWWindowProc(WXUINT nMsg,
     return wxWindow::MSWWindowProc(nMsg, wParam, lParam);
 }
 
+#endif // wxUSE_STATBMP