mfc combo box 控件使用方法總結

轉自:http://blog.sina.com.cn/s/blog_534408920100al29.html

由於接觸VC時間不長,對VC中控件的用法也不是很瞭解,用到時在網上查了很多,現總結如下:

1、改變下拉框大小:先點向下的箭頭,就可以調整下拉框大小

2、如果 ComboBox 的 Sorted 屬性設置爲 true,
   則新添加項將按字母順序插入到列表中。
   否則,在列表的結尾處插入項。

3、要立即響應選擇框的改變(即選擇框一改變選項,就立刻將結果傳遞進去)!
   響應他的哪個消息比較好?

  如果是隻能選擇的響應ON_CBN_SELCHANGE
  如果是可以編輯的,那麼要立刻響應編輯就是ON_CBN_EDITCHANGE

4、CBN_SELENDOK是什麼作用?
   This notification message issent when the user clicks a list item,
   or selects an item and thencloses the list.
   It indicates the user'sselection is to be processed

5、介紹一下列表框幾種常用的消息映射宏:

   ON_CBN_DBLCLK 鼠標雙擊
   ON_CBN_DROPDOWN 列表框被彈出
   ON_CBN_KILLFOCUS /ON_CBN_SETFOCUS 在輸入框失去/得到輸入焦點時產生
   ON_CBN_SELCHANGE列表框中選擇的行發生改變
   ON_CBN_EDITUPDATE輸入框中內容被更新
   使用以上幾種消息映射的方法爲定義原型如:afx_msgvoid memberFxn( );的函數,
   並且定義形式如ON_Notification( id,memberFxn )的消息映射。
   如果在對話框中使用組合框,ClassWizard會自動列出相關的消息,並能自動產生消息映射代碼。

6、改變ComboBox的下拉列表框寬度
  一般情況下,列表框的寬度和選擇框是一樣寬的,爲了讓列表框變的更寬,可以用
   m_Combobox.setdroppedwidth(intwidth); 來調整 他的寬度

7、如何使控鍵ComboBox不能輸入只能在下拉菜單中選擇?
  VC6中style屬性設爲csDropDownList
   VC2005中Type屬性設爲Drop List

8、設置當前項或得到當前是第幾項
   
  m_ComboBox1.SetCurSel(N);   //SetCurSel函數可改變標籤控件當前選定的項目
    //這個N可以是-1,表示無選擇,0表示第一項,1表示第二項。。

//這個函數一般在初始化的時候使用
  m_ComboBox1.GetCurSel();    //得到當前是第幾項.0是第一項,1是第二項

//這個函數相應的是ON_CBN_SELCHANGE 列表框中選擇的行發生改變
消息




發佈了30 篇原創文章 · 獲贊 31 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章