|
MFC中取得复选框是否选中
- // 方法1:直接取(适用于对话框内,控件ID = IDC_CHECK_A)
- BOOL checked = (IsDlgButtonChecked(IDC_CHECK_A) == BST_CHECKED);
- // 方法2:通过控件变量(先在类里加:CButton m_chkA; 并在 OnInitDialog 里 Subclass)
- BOOL checked = (m_chkA.GetCheck() == BST_CHECKED);
- // 方法3:DDX 绑定(对话框类中:BOOL m_bA; DDX_Check(pDX, IDC_CHECK_A, m_bA);)
- UpdateData(TRUE); // 读取界面 -> 变量
- BOOL checked = m_bA;
- // 事件中判断(BN_CLICKED)
- void CYourDlg::OnBnClickedCheckA()
- {
- BOOL checked = (IsDlgButtonChecked(IDC_CHECK_A) == BST_CHECKED);
- }
复制代码说明: - 返回值比较 BST_CHECKED(1)、BST_UNCHECKED(0)、三态时还有 BST_INDETERMINATE(2)。
- 单次判断推荐 IsDlgButtonChecked;已有控件变量时用 GetCheck;批量用 DDX。
|
|