在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++有一定的幫助作用。
新聞熱點
疑難解答
圖片精選