在VC++程式設計中,combobox控制項是再普通不過的表單元素控制項了,而對於新手來說,掌握combobox 的各種用法顯得尤其重要,本文就來總結一些實用的combobox控制項用法,供大家參考。
一、添加/刪除Combo Box內容:
1. 一般是在ComboBox控制項屬性的Data標籤裡添加,一行表示ComboBox下拉式清單中的一行,換行用ctrl+斷行符號。
2. 在程式初始化時動態添加,如:控制項內容初始化:
CString strTemp;((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//清除原有內容for(int i=1;i<=100;i++){strTemp.Format("%d",i);((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);}
3. 在下拉的時候新增內容項,如: CString strTemp;
int iCount=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCount();//取得已有行數if(iCount<1)//防止重複多次添加{((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();for(int i=1;i<=100;i++){strTemp.Format("%d",i);((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);}}
4. 刪除內容,那就更簡單了,只需一行:
DeleteString(UINT nIndex)
5. 插入內容項,也挺簡單,一行搞定:將行插入到指定位置
InsertString( int nIndex, LPCTSTR lpszItem )
6. 尋找,分情況而定,這樣:
FindString( int nStartAfter, LPCTSTR lpszItem )//可在當前所有行中尋找指定的字元的位置,nStartAfter指明從那一行開始尋找。 int SelectString( int nStartAfter, LPCTSTR lpszItem )//可以選中包含指定字串的行
二、控制ComboBox的下拉框長度:
首先要知道兩點:
其一那就是在設計介面裡,點擊一下Combo Box的下拉式箭頭,此時出現的調整框就是Combo Box的下拉調整框。
其二是屬性裡有個 No integral height 鉤選項,表示最大長度為設計長度,如果實際內容比設計長度多,就出現捲軸,少就以實際長度顯示。
三、選擇某行
1. 選中:
int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCurSel();//當前選中的行
2. 設定:
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->SetCurSel(n)//設定第n行內容為顯示的內容
四、取得ComboBox內容:
1. 取得ComboBox當前內容:
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetWindowText(strTemp);
2. 取得其它行內容:
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetLBText(n,strTemp);
五、獲得焦點:
可以用GetFocus()函數。例如:
if(GetFocus()==GetDlgItem(IDC_EDIT_VALUE2))//判斷焦點是否在編輯框IDC_EDIT_VALUE2內。
但是combobox 的焦點不同,因為它是由edit和listbox兩部分組成的。所以獲得焦點要用GetParent():
if ((GetFocus()->GetParent())==GetDlgItem(IDC_COMBO_CF))
希望本文所述combobox控制項用法能夠對大家學習VC++有一定的協助作用。