+#ifndef __WIN16__
+ if ( !m_isIcon )
+ {
+ const wxBitmap& bmp = (const wxBitmap&)bitmap;
+ wxMask *mask = bmp.GetMask();
+ if ( mask && mask->GetMaskBitmap() )
+ {
+ icon = new wxIcon;
+ icon->CopyFromBitmap(bmp);
+
+ m_isIcon = TRUE;
+ }
+ }
+#endif
+
+#ifdef __WIN32__
+ // create a static control with either SS_BITMAP or SS_ICON style depending
+ // on what we have here
+ const wxChar *classname = wxT("STATIC");
+ int winstyle = m_isIcon ? SS_ICON : SS_BITMAP;
+#else // Win16
+ const wxChar *classname = wxT("BUTTON");
+ int winstyle = BS_OWNERDRAW;
+#endif // Win32
+
+ if ( m_windowStyle & wxCLIP_SIBLINGS )
+ winstyle |= WS_CLIPSIBLINGS;
+
+
+ m_hWnd = (WXHWND)::CreateWindow
+ (
+ classname,
+ wxT(""),
+ // 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,
+ wxGetInstance(),
+ NULL
+ );
+
+ wxCHECK_MSG( m_hWnd, FALSE, wxT("Failed to create static bitmap") );
+
+ SetImage(icon ? icon : &bitmap);
+ delete icon; // may be NULL, ok
+
+ // Subclass again for purposes of dialog editing mode
+ SubclassWin(m_hWnd);
+
+ SetFont(GetParent()->GetFont());
+
+ SetSize(x, y, width, height);
+
+ return TRUE;