MFC使用ComboBox控件方法

Combo Box (組合框)控件很簡單,可以節省空間。從用戶角度來看,這個控件是由一個文本輸入控件和一個下拉菜單組成的。用戶可以從一個預先定義的列表裏選擇一個選項,同時也可以直接在文本框裏面輸入文本,下面我說一下我使用ComBox的一些方法技巧。

1.往Combox控件裏插入信息

 	m_Searchmode.InsertString(0, "測試1");//插入一條信息,也可以利用AddString來添加
	m_Searchmode.InsertString(1, "測試2");
	m_Searchmode.SetCurSel(0);//讓其顯示0索引信息即“測試1”

2.通過索引獲取當前選定的內容

	int nIndex = m_Searchmode.GetCurSel();//獲取當先選定的索引
	CString str;
	m_Searchmode.GetLBText( nIndex, strCBText);//通過索引獲取當前選定的內容
	MessageBox(str);//彈出當前選定的內容

3.查找控件中查找給定項

int nIndex = Searchmode.FindStringExact( nStartAfter, "找到變量");

nStartAfter指明從哪一行開始查找。如果查找成功,返回的是該項的位置;否則,返回CB_ERR。

 

4.刪除指定的項

m_cbExample.DeleteString(nIndex);//nIndex爲索引

5.得到或設置輸入框中被選中的字符位置

BOOL SetEditSel( int nStartChar, int nEndChar );
BOOL LimitText( int nMaxChars ); 設置輸入框中可輸入的最大字符數。

 

6.添加/刪除Combo Box內容

CString strTemp;
((CComboBox*)GetDlgItem(IDC_COMBO))->ResetContent();//消除現有所有內容
for(int i=1;i<=100;i++)
{
strTemp.Format("%d",i);
((CComboBox*)GetDlgItem(IDC_COMBO))->AddString(strTemp);
}

在Combo Box控件屬性的Data標籤裏面添加,一行表示Combo Box下拉列表中的一行。換行用ctrl+回車

 

 

 

7.刪除指定行

DeleteString( UINT nIndex )//刪除指定行,nIndex爲索引

 

8.ComBox常用宏

ON_CBN_DBLCLK 鼠標雙擊
ON_CBN_DROPDOWN 列表框被彈出
ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在輸入框失去/得到輸入焦點時產生
ON_CBN_SELCHANGE 列表框中選擇的行發生改變
ON_CBN_EDITUPDATE 輸入框中內容被更新

關於一些API函數大家可以看MSDN來查看更詳細的講究!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章