首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

VC++ 6.0 對話框編輯器:核取方塊與選項按鈕完整使用指南

     編輯:VC 教學

控制項對齊技巧

  1. 按住 Ctrl 點選多個控制項,最後選中的為基準 (實心調整點)。
  2. 選單 **Format → Make Same Size → Both** 統一尺寸。
  3. **Format → Align → Left** 左對齊。
  4. **Format → Align → Space Evenly → Down** 垂直等距。

選項按鈕 (Radio Button) 分組原理

  • 同一群組內僅一個可被選中。
  • 群組界定:**Tab Order 連續** 且 **第一個控制項 `Group` 屬性 = True**。
  • 資源編輯器自動處理互斥,程式碼設定 `SetCheck` 時需手動清除同組其他按鈕。

核心 API

函數用途範例
CButton::SetCheck(int)設定選中狀態`SetCheck(1)` 選中,`SetCheck(0)` 取消
CButton::GetCheck()取得狀態`0=未選 1=選中 2=不確定(三態)`
CWnd::GetCheckedRadioButton(idFirst, idLast)取得群組中被選中的 ID`UINT id = GetCheckedRadioButton(IDC_SEX1, IDC_SEX2);`
CWnd::IsDlgButtonChecked(id)判斷單一按鈕是否被選`if (IsDlgButtonChecked(IDC_SEX1)) ...`

ClassWizard 綁定變數

  • **Radio**:僅第一個 (Group=True) 可加變數,型別 `int`,0=第一個,1=第二個... -1=無選擇。
  • **Checkbox**:各自加變數,型別 `BOOL`,TRUE=勾選。

訊息映射巨集 ON_CONTROL_RANGE

避免為每個按鈕寫獨立 Handler,將連續 ID 範圍映射到同一函數:


// 在 BEGIN_MESSAGE_MAP / END_MESSAGE_MAP 之間手動加入
ON_CONTROL_RANGE(BN_CLICKED, IDC_HOBBY1, IDC_HOBBY3, OnHobbyClicked)

// 標頭檔聲明
afx_msg void OnHobbyClicked(UINT nCmdID);

// 實作
void CMyDlg::OnHobbyClicked(UINT nCmdID) {
    switch (nCmdID) {
        case IDC_HOBBY1: ...; break;
        case IDC_HOBBY2: ...; break;
        case IDC_HOBBY3: ...; break;
    }
}

注意:ID 必須連續,否則需手動修改 `Resource.h` 宏定義。

三態核取方塊

屬性 `Tri-state = True` → 狀態:未選/選中/灰色(不確定)。常用於安裝程式「部分功能已選」。`SetCheck(2)` 設定灰色狀態。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved