+wxCOMPILE_TIME_ASSERT(wxCHK_UNCHECKED == BST_UNCHECKED
+ && wxCHK_CHECKED == BST_CHECKED
+ && wxCHK_UNDETERMINED == BST_INDETERMINATE, EnumValuesIncorrect);
+
+void wxCheckBox::DoSet3StateValue(wxCheckBoxState state)
+{
+ ::SendMessage(GetHwnd(), BM_SETCHECK, (WPARAM) state, 0);
+}
+
+wxCheckBoxState wxCheckBox::DoGet3StateValue() const
+{
+#ifdef __WIN32__
+ return (wxCheckBoxState) ::SendMessage(GetHwnd(), BM_GETCHECK, 0, 0);
+#else
+ return (wxCheckBoxState) ((::SendMessage(GetHwnd(), BM_GETCHECK, 0, 0)
+ & 0x001) == 0x001);
+#endif
+
+}
+