1. 程式人生 > 實用技巧 >MFC ComBox控制元件相關使用案例

MFC ComBox控制元件相關使用案例

1、ComBox控制元件中下拉框內容從檔案中讀取

  首先在工具箱中拖拽ComBox控制元件到對話方塊中,ID為IDC_COMBO_Model,同時在工程目錄下建立一個名字為ModelInfo檔案,在CcomBoxTestDlg.h檔案中申明函式 voidAddModelToComboBox();接著在CcomBoxTestDlg.cpp檔案中實現AddModelToComboBox()函式,實現內容如下:

 1 void CcomBoxTestDlg::AddModelToComboBox() {
 2     CComboBox* pCombo = (CComboBox*)this->GetDlgItem(IDC_COMBO_Model);
3 pCombo->ResetContent(); 4 CString model_path = _T(".\\ModelInfo"); 5 CStdioFile file; 6 if (file.Open(model_path, CFile::modeRead | CFile::shareDenyNone)) 7 { 8 while (TRUE) 9 { 10 CString str; 11 if (!file.ReadString(str)) 12 {
13 break; 14 } 15 CString model_name = str.SpanExcluding(_T(","));//SpanIncluding() 16 model_name.TrimLeft(_T(" ")); 17 model_name.TrimRight(_T(" ")); 18 if (model_name == _T("")) 19 { 20 continue; 21
} 22 if (pCombo->FindStringExact(-1, model_name) == CB_ERR) 23 {/* 24 CComboBox::FindStringExact 25 int FindStringExact(int nIndexStart,LPCTSTR lpszFind) const; 26 當第一個引數為-1時,則表示查詢整個列表框的專案 27 列表中有字串model_name返回值為0 28 列表中沒有字串model_name返回值為-1 CB_ERR代表-1 29 */ 30 pCombo->AddString(model_name); 31 } 32 } 33 file.Close(); 34 } 35 }
View Code

  最後在OnInitDialog()中新增this->AddModelToComboBox()呼叫此函式。