生活随笔
收集整理的這篇文章主要介紹了
MFC COMBO-BOX最详细教程
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
找了好多,這是講的最清楚的,與大家共享!
轉(zhuǎn):https://blog.csdn.net/fym0121/article/details/7515862
當(dāng)你只需從一列對(duì)象中選出一個(gè)時(shí),使用COMBO BOX是一個(gè)好主意,因?yàn)樗?jié)省空間。這篇文章講述了如何使用COMBO BOX操作一列對(duì)象。
?
?
1、初始化COMBO BOX
我假設(shè)讀者已經(jīng)新建了一個(gè)對(duì)話框,并將一個(gè)COMBO BOX 拖放到這個(gè)對(duì)話框上。現(xiàn)在,右鍵那個(gè)COMBO BOX控件 --> 添加變量。類別選Control,類型是COMBOBOX,變量名我們輸入m_cb1。
大家會(huì)發(fā)現(xiàn),在我們項(xiàng)目的對(duì)話框類中,已經(jīng)加入了CComboBox? m_cbExample;? 的定義
如圖1 所示,COMBO BOX有一個(gè)下拉列表,我們現(xiàn)在要把那些下拉的字符串添加到COMBO BOX中,即初始化COMBO BOX。初始化,我們放到對(duì)話框類的OnInitDialog函數(shù)中。CComboBox類的AddString方法,用于添加這些字符串。
?
[cpp]?view plain?copy
BOOL?CRRDlg::OnInitDialog()??//對(duì)話框的初始化,我的項(xiàng)目名叫RR??{??????CDialog::OnInitDialog();?????????m_cb1.AddString(_T("Alice"));???//添加字符串??????m_cb1.AddString(_T("Bob"));??????m_cb1.AddString(_T("Charlie"));??????m_cb1.AddString(_T("David"));??????m_cb1.AddString(_T("Bob"));????????m_cb1.SetCurSel(0);???//默認(rèn)選擇第一個(gè)??}??
?
2、檢索COMBO BOX
?
?
初始化好了后,就該使用了,我們?cè)趫D1 所示的下拉列表中選擇一個(gè),然后點(diǎn)擊Button1,彈出一個(gè)框,告訴我們,剛才是選擇了哪個(gè)。在IDE中,雙擊Button1,添加處理代碼。
?
?
[cpp]?view plain?copy
void?CRRDlg::OnBnClickedButton1()??{??????//?TODO:?在此添加控件通知處理程序代碼??????UpdateData(TRUE);???????????????????????//這個(gè)函數(shù)的使用請(qǐng)參考數(shù)據(jù)交換UpdateData,那篇文章??????int?index?=?m_cb1.GetCurSel();???????//這個(gè)函數(shù)用于得到用戶選擇的是下拉列表中的第幾行,第一行的話,返回0,依次類推??????CString?strI;??????strI.Format(_T("%d"),index);??????CString?strC;??????m_cb1.GetLBText(index,strC);????????//根據(jù)行號(hào),這個(gè)可以得到那行的字符串??????strC?+=?strI;??????MessageBox(strC);????????index?=?m_cb1.FindStringExact(0,_T("Bob"));????//檢索下來列表中是否有Bob這個(gè)字符串??????if?(CB_ERR?!=?index)??????{??????????strC.Format(_T("%d"),index);??????????MessageBox(strC);??????????m_cb1.DeleteString(index);????//如果有的話,刪除??????}??} ?
總結(jié)
以上是生活随笔為你收集整理的MFC COMBO-BOX最详细教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。