+ WXDWORD exstyle;
+ WXDWORD msStyle = MSWGetStyle(GetWindowStyle(), &exstyle);
+
+ return MSWCreateControl(classname, msStyle, pos, size, label, exstyle);
+}
+
+bool wxControl::MSWCreateControl(const wxChar *classname,
+ WXDWORD style,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxString& label,
+ WXDWORD exstyle)
+{
+ // want3D tells us whether or not the style specified a 3D border.
+ // If so, under WIN16 we can use Ctl3D to give it an appropriate style.
+ // Sometimes want3D is used to indicate that the non-extended style should have
+ // WS_BORDER.
+ bool want3D = TRUE;
+
+ // if no extended style given, determine it ourselves
+ if ( exstyle == (WXDWORD)-1 )
+ {
+ exstyle = Determine3DEffects(WS_EX_CLIENTEDGE, &want3D);
+ }
+
+ // 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;
+