+ // if no extended style given, determine it ourselves
+ if ( exstyle == (WXDWORD)-1 )
+ {
+ exstyle = 0;
+ (void) MSWGetStyle(GetWindowStyle(), &exstyle);
+ }
+
+ // all controls should have this style
+ style |= WS_CHILD;
+
+ // create the control visible if it's currently shown for wxWindows
+ if ( m_isShown )
+ {
+ style |= WS_VISIBLE;
+ }
+
+ int x = pos.x == -1 ? 0 : pos.x,
+ y = pos.y == -1 ? 0 : pos.y,
+ w = size.x == -1 ? 0 : size.x,
+ h = size.y == -1 ? 0 : size.y;
+
+ m_hWnd = (WXHWND)::CreateWindowEx
+ (
+ exstyle, // extended style
+ classname, // the kind of control to create
+ label, // the window name
+ style, // the window style
+ x, y, w, h, // the window position and size
+ GetHwndOf(GetParent()), // parent
+ (HMENU)GetId(), // child id
+ wxGetInstance(), // app instance
+ NULL // creation parameters
+ );
+
+ if ( !m_hWnd )
+ {
+ wxLogDebug(wxT("Failed to create a control of class '%s'"), classname);
+ wxFAIL_MSG(_T("something is very wrong"));
+
+ return FALSE;
+ }
+
+#if wxUSE_CTL3D
+ if ( want3D )