-       m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, 
-               kControlCheckBoxProc , (long) this ) ;
-       
-       MacPostControlCreate() ;
+    Rect bounds ;
+    Str255 title ;
+    
+    MacPreControlCreate( parent , id ,  label , pos , size ,style, validator , name , &bounds , title ) ;
+
+    SInt16 maxValue = 1 /* kControlCheckboxCheckedValue */;
+    if (style & wxCHK_3STATE)
+    {
+        maxValue = 2 /* kControlCheckboxMixedValue */;
+    }
+
+    m_macControl = ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , 0 , maxValue, 
+          kControlCheckBoxProc , (long) this ) ;
+    
+    MacPostControlCreate() ;