zoukankan      html  css  js  c++  java
  • 24课时VC之思考>列表框与组合框

                                   列表框和组合框


                 

    一、添加

    listBox.AddString("Gwen"); InsertString 和 Addstring函数都返回新加入的列表项的位置。若在整加列表项时候 发生错误,InsertString 和 Addstring函数将返回LB_ERR。如果列表框满了,将返回 LB_ERRSPACE.

    二、删除

    listBox.DeleteString(8); 这一行代码删除了列表框中第9个位置的列表框。记住,所有的列表框的位置索引从零 开始。从DeleteString成员函数中返回的值是列表框中所剩列表项的数字,如果发生 错误,则为LB_ERR。返回值可如下使用:

    int nItems=listBox.GetCount();

    while(nItems>3&&nItems!=LB_ERR)

    nItems=listBox.DeleteString(nItems-1);

    此代码删除前3个列表框之后的所有列表项。若要完全删除列表项,需要使用ResetCount函数: listBox.ResetCount(); ResetCount返回位Void(空)。

    LBN_,是List BOX Notification的简称。 ClistBox::GetCursel成员函数决定列表框当前选择的列表项。

    1.给组合框增加列表项 :

    comboBox.AddString("Riley"); 或 comboBox.InsertString(0,"Mitch");

    如果有错误发生,将被返回CB_ERR而不是LB_ERR 同理,CB_ERRSPACE nItems=comboBox.GetCount();

    2.从组合框中获取收入:

    m_combo.GetLBText(1,szChoice);

    3.在组合框中查找列表项:

    FindString和FindStringExact成员函数查找一个特定的列表项。

    int index=m_combo.FinString(-1,szSearch); 搜索索引指定第一个被找到的列表项索引之前的列表项,因此在开始搜寻索引时必须对索引 减一作为搜索索引。

    FindStringExact函数在组合框中搜索与搜索字符串精确匹配的列表项,它与FindString函数 使用相同的参数: int index=m_combo.FindStringExact(-1,szSearch);

    CComboListDlg::OnCloseupCombo函数收集组合框编辑控件部分的内容和组合框列表框中所选择 的列表项。


    1.

    void CListBoxDlg::OnDblclkList() {  // TODO: Add your control notification handler code here  

    int nSelection=m_listBox.GetCurSel();

     if(nSelection!=LB_ERR)  {     

    CString szSelection;  

    m_listBox.GetText(nSelection,szSelection);  

    AfxMessageBox(szSelection);

     }

    }


    2.

    void CListBoxDlg::OnCloseupCombo() {  // TODO: Add your control notification handler code here  

    CString szChoice;  

    CString szResult;  

    int nChoice;

     m_comboList.GetWindowText(szChoice);

     nChoice=m_comboList.GetCurSel();  

    if(nChoice!=CB_ERR)  {    

    m_comboList.GetLBText(nChoice,szChoice);

     szResult="Closing after selecting"+szChoice;

     }      

    else if(szChoice.IsEmpty()==TRUE)  {     

    szResult="No choice selected";  }

     else if(

    m_comboList.FindStringExact(-1,szChoice)!=CB_ERR)

    {    

    szResult="Closing after selecting"+szChoice;

     }

     else  {    

    m_comboList.AddString(szChoice);

     szResult="Adding "+szChoice+ " to list";

     }  

    CWnd *pWnd=GetDlgItem(ID_RESULT);  

    ASSERT(pWnd);  

    if(pWnd){    

    pWnd->SetWindowText(szResult);

     }

    }


    3.

    void CListBoxDlg::OnEditupdateCombo() {  // TODO: Add your control notification handler code here  

    CString szChoice;  

    CString szResult;  

    m_comboList.GetWindowText(szChoice);    

    szResult="Choice changed to "+szChoice;  

    CWnd *pWnd=GetDlgItem(ID_RESULT);  

    ASSERT(pWnd);

     if(pWnd)   

    pWnd->SetWindowText(szResult);

    }

     
     
      
     
      
      
      
      
      
      
      
      
      
      
      
      
     
     
     



      
      
      
      
      
      
      
      
      
      
      
     
     
     


  • 相关阅读:
    实时信号阻塞队列大小测试
    实时信号和非实时信号
    [Linux]关于sigprocmask函数的讨论
    java中Map集合的常用方法 (转)
    佛跳墙
    百万数据查询效率提高方法(转)
    bootstrap table 前后端分页(超级简单)
    bootstrap table 分页序号递增问题 (转)
    Spring boot+mybatis+thymeleaf 实现登录注册,增删改查
    js弹出对话框的三种方式(转)
  • 原文地址:https://www.cnblogs.com/fengbo/p/2629003.html
Copyright © 2011-2022 走看看