首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VC++6.0 MFC 模態對話框:編輯框輸入 → 確定 → 組合框新增項目

     編輯:程式設計綜合問答

步驟速覽

  1. 資源視圖打開對話框模板,拖放 Edit Control、Combo Box (Dropdown List 模式)、Button (ID: IDC_BTN_ADD)。
  2. Class Wizard (Ctrl+W) 為編輯框、組合框建立成員變數:CString m_strInput、CComboBox m_comboList。
  3. 為按鈕添加 BN_CLICKED 處理器 OnBtnAdd()。
  4. 實作 OnBtnAdd:
void CMyDialog::OnBtnAdd() {
    UpdateData(TRUE);                 // 從控件讀取資料到 m_strInput
    if (!m_strInput.IsEmpty()) {
        m_comboList.AddString(m_strInput); // 新增到組合框
        m_comboList.SetCurSel(m_comboList.GetCount() - 1); // 選中新項
        m_strInput.Empty();           // 清空編輯框
        UpdateData(FALSE);            // 回寫控件
    }
}

關鍵點補充

  • Combo Box 屬性設為 Dropdown List (不可編輯) 或 Dropdown (可編輯),視需求而定。
  • 若組合框需持久化,可在 OnOK 或 OnDestroy 將內容寫入註冊表/INI/資料庫。
  • MFC 6.0 專案建議啟用 _AFXDLL 共享 MFC DLL,減小體積。

常見錯誤

  • 忘記 UpdateData(TRUE) 導致 m_strInput 為空。
  • 組合框成員變數類型選錯 (選成 CString 而非 CComboBox),無法呼叫 AddString。
  • 對話框為模態 (DoModal()) 時,父視窗無法直接訪問其控件,需在對話框類內部完成邏輯或通過公共成員變數返回結果。

掌握「控件 ↔ 成員變數 ↔ UpdateData」三角關係,是 MFC 表單編程的基石。

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