在 VC++ MFC 對話框中,實現一個「全選」Check Box 控制多個子 Check Box 的勾選狀態,並支持再次點擊取消全選。

// 假設子 Check Box 的 ID 為連續或已知
UINT ids[] = { IDC_CHECK1, IDC_CHECK2, IDC_CHECK3 /*, ...*/ };
void OnCheckAll() {
BOOL checkedAll = ((CButton*)GetDlgItem(IDC_CHECK_ALL))->GetCheck();
for (int i = 0; i < sizeof(ids)/sizeof(ids[0]); ++i) {
CheckDlgButton(ids[i], checkedAll ? BST_CHECKED : BST_UNCHECKED);
}
}
CheckDlgButton 統一設置子項狀態;BN_CLICKED 事件綁定到 OnCheckAll;