#require Namespace ActiveBasic Namespace Windows Namespace UI /*! @date 2008/07/13 @brief チェックボックスを表すクラス。 @author Egtra */ Class CheckBox Inherits ButtonBase Protected Override Sub GetCreateStruct(ByRef cs As CREATESTRUCT) Super.GetCreateStruct(cs) cs.style Or= BS_AUTOCHECKBOX End Sub Public /*! @brief チェックされているかどうかの取得。 @retval true チェックされているもしくは第3状態 @retval false チェックされていない */ Const Function Checked() As Boolean Checked = SendMessage(BM_GETCHECK) > 0 End Function /*! @brief チェックされているかどうかの設定。 @param[in] check チェックを入れるならtrue, 外すならfalse。 */ Sub Checked(check As Boolean) SendMessage(BM_SETCHECK, check As WPARAM, 0) End Sub /*! @brief クリック時に自動で状態変化するかどうかの取得。 @retval true 自動変化する @retval false 自動変化しない */ Function AutoCheck() As Boolean AutoCheck = ((Style And BS_AUTOCHECKBOX) = BS_AUTOCHECKBOX) End Function /*! @brief クリック時に自動で状態変化するどうかの設定。 @param[in] check 自動で変化させるならTrue、そうでないならFalse。 */ Sub AutoCheck(autoCheck As Boolean) If autoCheck Then Style = Style Or BS_AUTOCHECKBOX Else Style = (Style And (Not BS_AUTOCHECKBOX)) Or BS_CHECKBOX End If End Sub End Class End Namespace 'UI End Namespace 'Widnows End Namespace 'ActiveBasic