- m_macControl = ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , 0 , 1,
- kControlCheckBoxProc , (long) this ) ;
+ SInt32 maxValue = 1 /* kControlCheckboxCheckedValue */;
+ if (style & wxCHK_3STATE)
+ maxValue = 2 /* kControlCheckboxMixedValue */;
+
+ Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
+ m_peer = new wxMacControl(this) ;
+ verify_noerr( CreateCheckBoxControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds ,
+ CFSTR("") , 0 , false , m_peer->GetControlRefAddr() ) );
+
+ m_peer->SetMaximum( maxValue ) ;