CComboBox控件的使用 1

一.經常使用狀態
CComboBox控件又稱做組合框控件,其有三種形態可供選擇:
1.簡單組合框(Simple)
2.下拉組合框(Drop-down)
3.下拉列表式組合框(Drop-down list).
二.經常使用設置屬性:
1.type屬性:裏面一共有三個選項.就是其三種形式, 咱們經常使用的是後兩種形態,其區別就是Dropdown的編輯區爲可編輯控件,而droplist爲靜態控件.
2.Data屬性:當程序初始化的時候,下拉列表將顯示其屬性裏面的內容,內容用分號分隔.其屬性只支持後2中形式,
3.Sort 屬性:對添加到下拉列表框中的數據自動進行排序,若是你不想他改變你的顯示序列,把他設置成False.
三.經常使用函數:
控件是一個窗口.其基類是爲CWnd.因此CComboBox也可使用CWnd的一些函數,它本身的函數有30幾種.
注:m_cbox 爲CComboBox控件的關聯變量,m_end爲EDIT控件的關聯變量
1. GetCount() 函數:
功能:用以得到列表框中的選項數目.
原型:int GetCount() const;
示例:
int i;
CString str;
i=m_cbox.GetCount();
str.Format (「%d」,i);
m_end=」一共有」+str+」個數據」;
UpdateData(FALSE);
2. GetCurSel() 函數:
功能:用以獲得用戶選中下拉列表框中數據的索引值.返回的值是重0開始的,若是沒有選擇任何選項將會返回-1。
原型:Int GetCurSel() const
示例:
  int i;
CString str;
i=m_cbox.GetCurSel ();
str.Format (「%d」,i+1);
if (i==-1) m_end=」你什麼都沒有選」;
else m_end=」你選的是第」+str+」項」;
  UpdateData(FALSE);
3. SetCurSel函數:
功能:選取列表框中的一個選項,索引從0開始,-1爲何都不選.當你須要把列表框中已經選取的內容清空時就可使用這個函數;
示例:
if(m_i<3)
m_cbox.SetCurSel (m_i++);//m_i爲int型變量 用以計數
else
{
m_cbox.SetCurSel (-1);
m_i=0;
}
4. SetEditSel函數:
功能:設置編輯區中藍色選中字段的長度
原型:BOOL SetEditSel( intnStartChar,int nEndChar );
說明:nStartChar是起始的位置,當設置爲-1時爲不選擇任何字段,nEndChar是結束位置.還有一個對應的函數GetEditSel是取得其位置,在此不詳解.
示例:
m_cbox.SetEditSel (3,5);//在編輯框中打入一串數字在按此按鈕就能看到效果,其做用就是選中第3到第5個字符做爲熱點
5. Clear() Cut() Paste() Copy()
這四個函數我放在一塊兒說,由於他們都是針對編輯框中選定的文字進行編輯的函數,不少初學者很不明白這4個函數,使用這些函數沒有做用,其實否則,這些函數對於在編輯框中的內容不進行處理,他真正處理的是你用鼠標選中的內容,對於Clear()函數不少書中解釋都是有誤的,不少書中對他的解釋是清除當前選中的文本,我認爲這樣的解釋是有歧異的,真正的解釋是把你剛選中的文本釋放掉,也就是不選,而不是把選中的刪除,真正的刪除選中的文本的函數是Cut(),Copy()是複製選中的文本,Paste()是粘貼到光標處.其演示就不寫在程序中,有興趣的朋友能夠本身試試.
6. LimitText()函數
功能:其做用是限制在編輯框中鍵入的文本長度
原型:BOOL LimitText(int nMaxChars);
說明:當nMaxChars爲0時,不是不能輸入,而是長度最大化爲65535字節
7. GetLBText()函數
原型:void GetLBText( int nIndex, CString&rString ).
說明:nIndex爲列表框中數據的索引值,rString 爲字符串,其做用就是把索引號爲nIndex的數據放到rString變量中.與其對應的GetLBTextLen(intnIndex)函數就是獲得索引號爲nIndex中數據的長度
示例:
m_cbox.GetLBText (2,m_end); // GetLBText按鈕
UpdateData(0);
CString str; //GetLBTextLen按鈕
int i=m_cbox.GetLBTextLen (2);
str.Format (「%d」,i);
m_end=str;
UpdateData(FALSE);
8. AddString() DeleteString() InsertString() ResetContent() 四個函數放在一塊兒,他們都是針對下拉列表框的處理函數,
AddString(LPCTSTR lpszString) 是在列表框的尾巴添加一條數據,參數爲字符串.
DeleteString(UINT nIndex)爲刪除指定索引爲nIndex的數據. InsertString(int nIndex, LPCTSTR lpszString)在索引nIndex處插入IpszString的內容.
ResetContent()是清除列表框中全部的內容.
9. SetDroppedWidth(UINT nWidth) 函數.
用於設定下拉列表框的最小寬度,當下拉列表框中的數據很長不能徹底顯示時,咱們可使用這個函數把列表框的寬度設置的大些.一樣GetDroppedWidth()是返回列表框的寬度.
如下代碼主要總結了對組合框添加下拉選項、選擇某一選項的基本應用。markdown

CComboBox控件的使用void CNewcomCosScriptView::DoDataExchange(CDataExchange* pDX)
CComboBox控件的使用{
CComboBox控件的使用 CFormView::DoDataExchange(pDX);
CComboBox控件的使用 DDX_Control(pDX, IDC_Card, m_card);
CComboBox控件的使用 }
CComboBox控件的使用
CComboBox控件的使用//添加ComboBox下拉選項
CComboBox控件的使用//ComboBox屬性設置中有個sort選項,若爲True則按首字母順序添加,爲False則每次添加到列表最後
CComboBox控件的使用void CNewcomCosScriptView::OnCbnDropdownCard()
CComboBox控件的使用{
CComboBox控件的使用 m_card.ResetContent();
CComboBox控件的使用
CComboBox控件的使用 m_card.AddString(「SD」);
CComboBox控件的使用 m_card.AddString(「PCSC」);
CComboBox控件的使用 }
CComboBox控件的使用
CComboBox控件的使用//選擇ComboBox選項
CComboBox控件的使用void CNewcomCosScriptView::OnCbnSelchangeCard()
CComboBox控件的使用{
CComboBox控件的使用 UpdateData(FALSE);
CComboBox控件的使用
CComboBox控件的使用 int nCount = m_card.GetCount(); //獲取ComboBox中元素個數
CComboBox控件的使用// int nTmp = m_card.SetCurSel(nCount - 1); //設置當前選項爲最後一個元素
CComboBox控件的使用
CComboBox控件的使用 //獲取ComboBox的當前值
CComboBox控件的使用 int iPos = m_card.GetCurSel(); //當前選中的元素索引
CComboBox控件的使用 CString str;
CComboBox控件的使用 m_card.GetLBText(m_card.GetCurSel(),str); //當前選中的字符串
CComboBox控件的使用
CComboBox控件的使用 char pa = (char)((LPCTSTR)str);
CComboBox控件的使用
CComboBox控件的使用//三種判斷都可:
CComboBox控件的使用// if(!strcmp(pa,」SD」))
CComboBox控件的使用// if (str == 「SD」)
CComboBox控件的使用 if (iPos == 1){
CComboBox控件的使用 CComboBox控件的使用
CComboBox控件的使用 }
CComboBox控件的使用 else if (iPos == 0){
CComboBox控件的使用 CComboBox控件的使用
CComboBox控件的使用 }
CComboBox控件的使用 }函數

相關文章
相關標籤/搜索