精华内容
下载资源
问答
  • 列表框和组合框 列表框是CListBox类的对象,组合框是CComboBox的对象。 列表框 属性设置 列表框的重要属性有: Selection 该属性决定用户的选择方式,缺省值为 Single 。属性值有: ①:Single ── 单项...
    上一篇:MFC界面编程基础(12):组框、单选按钮和复选框 下一篇:MFC界面编程基础(14):滚动条

    列表框和组合框

    列表框是CListBox类的对象,组合框是CComboBox的对象。

    列表框

    • 属性设置
      列表框的重要属性有:
    • Selection
      该属性决定用户的选择方式,缺省值为 Single 。属性值有:
      ①:Single ── 单项选择
      ②:Multiple ── 多项选择,但是忽略 Ctrl 和 Alt 键。
      ③:Extended ── 允许使用 Ctrl 和 Alt 进行多项选择
      ④:None ── 禁止选择
      在这里插入图片描述
    • Sort
      当该属性被设置为True后,列表框中的选项按字母顺序排列。
      在这里插入图片描述
    • 常用成员函数
    • 添加项目
      格式: int AddString( LPCTSTR lpszItem );
      例如:语句 m_l. AddString(" 陈蓉 ") ; 把“陈蓉”添加到了列表框 m_l 中。
    • 删除项目
      格式: int DeleteString( UINT nIndex );
      说明: nIndex 表示被删除项目在列表框中的位置,对于第一个选项nIndex应为 0 。
      例如:语句 m_l. DeleteString (4) ;删除列表框中的第 5 个项目。
    • 获取当前被选定的项目的序号
      格式: int GetCurSel( ) const;
      例如:语句int I=m_l.GetCurSel(); 将使I 获得 m_l 列表框中当前选定的项目的序号。
    • 获取列表框中指定的项目
      格式 1 : int GetText( int nIndex, LPTSTR lpszBuffer ) const;
      格式 2 : void GetText( int nIndex, CString& rString ) const;
      说明 :将列表框中第 nIndex 个选项的文本送到 lpszBuffer 或 rString 中。
      例如:假定有说明语句 char s1[20]; CString s2;则语句 m_l.GetText(4, s1); 和 m_l. GetText(4, s2); 把第 5 项内容分别送到 s1 和 s2 中。

    【例】

    编写一个能对列表框进行项目添加、修改和删除操作的应用程序,如图所示。“添加”按钮的功能是将文本框中的内容添加到列表框,“删除”按钮的功能是删除列表框中选定的选项。如果要修改列表框,则首先选定选项,然后单击“修改”按钮,所选的选项显示在文本框中,当在文本框中修改完之后再单击“修改确定”按钮更新列表框。
    在这里插入图片描述

    • 界面设计
      首先创建一个对话框应用程序框架,然后放置按钮。列表框和命令按钮按表连接变量,其余控件不需要连接变量。
      在这里插入图片描述
    • 初始化
      列表框的选项在对话框的初始化函数中用 AddString 函数添加。
    BOOL CTESTDlg::OnInitDialog() 
    { 
    	┆ 
    	// TODO: Add extra initialization here 
    	m_l.AddString(" 大学计算机基础 "); 
    	m_l.AddString("C/C++ 程序设计 "); 
    	m_l.AddString("VB 程序设计 "); 
    	m_l.AddString(" 软件技术基础 "); 
    	┆ 
    } 
    
    • 消息处理函数
    …………………………………………………………
    void CTESTDlg::OnButton1() // 选择“添加”后执行的函数 
    { 
     // TODO: Add your control notification handler code here 
     UpdateData(TRUE); 
     m_l.AddString(m_e); 
     m_e=""; 
     UpdateData(FALSE); 
    } 
    …………………………………………………………
    void CTESTDlg::OnButton2() // 选择“删除”后执行的函数 
    { 
     // TODO: Add your control notification handler code here 
     int n=m_l.GetCurSel(); 
     m_l.DeleteString(n); 
    } 
    …………………………………………………………
    void CTESTDlg::OnButton3() // 选择“修改”后执行的函数 
    { 
     // 将选定的项目送编辑框供修改 
     // TODO: Add your control notification handler code here 
     CString s; 
     int n=m_l.GetCurSel(); 
     m_l.GetText(n,s); 
     m_e=s; 
     UpdateData(FALSE); 
    } 
    …………………………………………………………
    void CTESTDlg::OnButton4() // 选择“确定修改”后执行的函数 
    { 
     // 将修改后的项目送回列表框中,替换原项目,实现修改。 
     // TODO: Add your control notification handler code here 
     UpdateData(TRUE); 
     int n=m_l.GetCurSel(); 
     m_l.DeleteString(n); 
     m_l.InsertString(n,m_e); 
     m_e=""; 
     UpdateData(FALSE); 
    } 
    …………………………………………………………
    

    组合框

    • 属性设置

    • 种类( Type )
      该属性用于指定组合框的类型,共有三个选择: Simple 、 Dropdown 和 Droplist ,默认值为 Dropdown 。
      在这里插入图片描述

    • 键入列表框项( Enter listbox items )
      在列表框的属性窗口有一个“ Data ”属性,这是在设计阶段输入选项的地方,如图所示。输入每一项都需要用分号分隔
      在这里插入图片描述

    • 常用成员函数
      编辑框和列表框的成员函数几乎都可以用于组合框,但是列表框的成员函数 GetText() 在组合框中的是 GetLBText()

    • int GetLBText( int nIndex, LPTSTR lpszText ) const;

    • void GetLBText( int nIndex, CString& rString ) const;
      说明 :使用 GetLBText 函数可以将组合框中的第 nIndex 个项目的文本送入 lpszText 或 rString 中。

    • 组合框发出的消息

    • CBN_SELECTCHANGE :组合框的列表框中的选项改变时发送

    • CBN_EDITCHANGE :组合框的编辑框中文本改变时发出

    【例】

    设计一个如图所示的对话框。如果单击“确定”按钮,则用 MessageBox 显示如图所示的信息框。
    在这里插入图片描述

    • 首先创建一个对话框程序框架,然后放置各控件,进行属性设置,组合框的选项在设计阶段直接输入,按表连接变量,其余控件不需要连接变量。

    在这里插入图片描述

    • 消息处理函数
    void CTESTDlg::OnButton1() 
    { 
     // TODO: Add your control notification handler code here 
     UpdateData(TRUE); 
     CString s; 
     s=" 品牌 :"; 
     s=s+m_c; 
     s=s+"\n"; 
     s=s+" 数量 :"; 
     s=s+m_e; 
     MessageBox(s); 
    }
    
    上一篇:MFC界面编程基础(12):组框、单选按钮和复选框 下一篇:MFC界面编程基础(14):滚动条
    展开全文
  • VC++60 第十二章 列表框和组合框

    千次阅读 2016-10-13 17:49:48
    第十二章 列表框和组合框   列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。用户选择可以是多项的,但本章的例程设计为单选的。组合框是一个编辑框带一个可以下拉的列表框,用户在...

    第十二章 列表框和组合框

     

    列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。用户选择可以是多项的,但本章的例程设计为单选的。组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进行后续处理,选择也可以用键盘的光标键。在编辑框中也可以直接输入。

     

    本章要点

    1 列表框的设计、项的添加和删除
    2 组合框的设计和使用

     

    12.1 ListCombo程序运行时的界面和功能

     

     VC++60 <wbr>第十二章 <wbr>列表框和组合框
    chap12-01

    List1在初始化时加入了六项。点击[<]按钮就把选中的项移动到List2中去。点击[>]按钮则相反。点击[<<]和[>>]按钮则移动全部项。用[清除列表]按钮可删除List1的全部项。[加入到]按钮把你选中的在编辑框中项添加到List1中,[加入全部]按钮则把组合框设置的所有项添加到List1中。组合框预置了“中国”这一项,但没有设计删除功能。列表框和组合框都有一个从0开始的整数索引和一个用于显示的文本。

     

    12.2 对话框界面设计

     

    按控件属性表设计界面。

    控件类型 标题 ID and Genaral Styles Extended Styles
    listBox   IDC_LIST1
    显示checked
    选择Simple,Border
    Virteber scroll
    listBox   IDC_LIST2
    显示checked
    选择Simple,Border
    Virteber scroll
    ComboBox   IDC_CONTRIES_COMBO
    显示checked
    类型:Drop list
    Virteber scroll
    Static edge
    Button < IDC_MOVE_BUTTON
    Button > IDC_BACK_BUTTON
    Button << IDC_MOVEALL_BUTTON
    Button >> IDC_BACKALL_BUTTON
    Button 清除列表 IDC_CLEAR_BUTTON Client edge
    Button 加入到 IDC_ADD_BUTTON Client edge
    Button 加入全部 IDC_ADDALL_BUTTON Client edge
    Button 退出 IDC_EXIT_BUTTON Client edge
    Static edge
    Modal Frame

    属性表中列出的表示“选中”,TAB复选框都要选中,就省略了。组合框可以在DATA属性页中设置项的文本,本例采用这种方法。其数据是:
    中国,美国,俄罗斯,英国,法国,德国,印度,巴基斯坦,
    日本,加拿大,澳大利亚,韩国,伊朗,伊拉克

    逗号处要改为换行,换行用Ctrl+<回车键>。设计好的界面如图chap12-02所示。

    VC++60 <wbr>第十二章 <wbr>列表框和组合框
    chap12-02

     

    12.3 设计变量和编写代码

     

    1 为三个列表框和组合框引进变量
    因为我们要对列表框的项进行操作,所以要申明三个对象类型的变量
    m_myList1
    m_myList2
    m_myCombo。

     

    2 定义一个字符串数组
    定义一个字符串数组m_myItems用来存放组合框的项的文本。在对话框的头文件的类CListCombaDlg的构造函数中申明:
        CString m_myItems[20];

     

    3 给初始化函数编写代码
    在OnInitDialog()中我们要从组合框控件获取项目的文本,给字符串数组m_myItems赋值。再用它的前六项为List1初始化。最后为组合框设置项“中国”为预选项。
    从组合框控件获取项用函数GetLBText(index, str),它把索引值为index的项的文本拷贝给str。给列表框赋值用AddString(string)函数,它在列表的尾部增加一项。类似地还可以用插入函数InsearString(...)。在// TODO: Add extra initialization here 这行的后面,我们添加如下代码:

       int count = m_myCombo.GetCount();  //获取组合框的项数
       int i =0;
        //从组合框控件获取项的文本
        for(i =0; i<count; i++)
             m_myCombo.GetLBText(i, m_myItems[i]);
        //List1初始化,六项
        for(i =0; i<6 ; i++)
            m_myList1.AddString(m_myItems[i]);
        //设置组合框默认选择项为"中国"
        m_myCombo.SetCurSel(0);

     

    4 给4个移动按钮写代码
    MOVE按钮[<]的功能是从List1中得到用户选定顶的索引号,再从这索引号获取选定顶的文本,然后删除这一项,在List2中添加一项。当前项
    获取索引号函数 index=GetCurSel()返回整数。 获取选定项的文本用函数GetText(index, item),它把指定项的文本拷贝到字符串item中。
    OnMoveButton()函数的完整代码如下:

    void CListCombaDlg::OnMoveButton()
    {
        CString item;
        int index = m_myList1.GetCurSel(); //获取选定顶索引号
        m_myList1.GetText(index, item);       //获取选定顶的文本
        m_myList1.DeleteString(index);         //删除一项
        m_myList2.AddString(item);              //添加到List2中
        m_myList1.SetCurSel(0);                   //设置首项为当前项
    }

    MOVEALL按钮的代码与上面的类似,加上循环语句就行。

    void CListCombaDlg::OnMoveallButton()
    {
      
      // TODO: Add your control notification handler code here
        CString item;

        int index =0 ;
        while(m_myList1.GetCount() >0){
            m_myList1.GetText(0, item);
            m_myList1.DeleteString(0);
            m_myList2.AddString(item);   
        };
    }
    BACK和BACKALL按钮的代码和上面的一样,只要把m_myList1和m_myList2对调就行。

     

    5 从组合框向列表框1加入当前项的代码
    这与列表框不同的是获取文本的函数名不大一样,用函数GetLBText,其余都相同。在OnAddButton()中加入代码:

    void CListCombaDlg::OnBackallButton()
    {
        // TODO: Add your control notification handler code here
        CString item;
        int index =0 ;
        while(m_myList2.GetCount() >0){
            m_myList2.GetText(0, item);
            m_myList2.DeleteString(0);
            m_myList1.AddString(item);   
        };
    }

    从组合框向列表框1加入全部项的代码如下:

    void CListCombaDlg::OnAddallButton()
    {
       //Clear old items in Linst at first
        CString item;
        while(m_myList1.GetCount()>0)
            m_myList1.DeleteString(0);
        int n = m_myCombo.GetCount();
        //Add all items
        for(int i=0; i<n; i++){
            m_myCombo.GetLBText(i, item);
            m_myList1.AddString(item);
        }   
    }

     

    6 [清除列表]和[退出]按钮的代码

    [清除列表]的按钮的代码:
        while(m_myList1.GetCount()>0)
            m_myList1.DeleteString(0);

    [退出]按钮的代码: OnOK();

     

    12.4 编译和运行

     

    至此,我们完成了界面设计和代码编写,可以编译和Build了。编译通过就可以在运行中测试程序,检查是否满足我们的设计要求。但是,代码编写常常会有许多错误,编译器会报告一大堆错误。虽然指出了错误所在的行,但要明白是什么错误还是很费劲的。如果我们在完成一部分工作后就编译一次,错误就比较少,容易找到和纠正。所以我们分以下几步来编译。
    1、界面完成后编译一次,这时运行可以看到组合框有了信息和可以选择了。
    2、对话框初始化编写后编译和运行一次,这时可以看到列表框有了信息。
    3、MOVE按钮写了代码后编译和运行一次,这时可以测试移动功能是否正确。如果成功,那这代码可以放心地复制到其他三个按钮去了。
    4、全部完成后的编译和运行。

     

    12.5 小结

     

    1 列表框和组合框属性设置中有类型选择
    组合框有三种情况:Simple, Dropdown, Drop List。Simple类型的组合框的列表框部分是固定显示的,不能下拉;而其余两种带一个下拉手柄。设计中别忘记添加滚动条。Dropdown与Drop List的区别是后者的编辑框不能输入。列表框也有三种情况:Simple, Multiple, Extended, 它们决定了用户选取项的方法。Simple模式只能够选取单项,Multiple模式可以按Ctrl键+鼠标左键选取多个项,而Extended则可以通过鼠标拖处矩形一次选取连续的项,也可以加按Ctrl键作多次选择。

    2 列表框在属性页不能设置项的文本(字符串),而组合框能。

    3 列表框和组合框中的“项”都有索引号(0,1,2,...)和文本(在窗口显示)。两者都有成员函数来获取和设置这些信息。得到文本的函数名称不一样,列表框是GetText(),组合框是GetLBText()。字母LB的意思是ListBox,GetLBText的意思是“从自身的列表框中获取文本”。

    4 列表框和组合框常用的几个函数原型

    列表框的取索引号和文本的函数原型
    获取文本:
    void GetText( int nIndex, CString& rString ) const;
    用于单选模式的获取和设置索引号:
    int GetCurSel( ) const;
    int SetCurSel( int nSelect );
    用于多选模式的:
    int GetSel( int nIndex ) const;
    上式如果nIndex项是被选中的,就返回它的索引号,否则返回0。
    int SetSel( int nIndex, BOOL bSelect = TRUE );
    bSelect = TRUE就选中索引为nIndex的项,如是FALSE,则取消“选中”:如果nIndex=-1,就是全“选中”或全“不选中”。

    组合框的获取索引号和文本的函数原型
    int GetCurSel( ) const;
    int SetCurSel( int nSelect );
    void GetLBText( int nIndex, CString& rString ) const;

    添加、插入和删除项的函数原型
    int AddString( LPCTSTR lpszItem );
    int InsertString( int nIndex, LPCTSTR lpszItem );
    int DeleteString( UINT nIndex );

     

    习题和思考

    1 重新创建MListCombo,把两个列表框设计为多选项的。
    2 重新创建EListCombo,把两个列表框设计为可扩展选项的。

    展开全文
  • 列表框和组合框的使用

    千次阅读 2010-06-24 15:21:00
    列表框是显示一系列项供用户选择的...   本章要点 1 列表框的设计、项的添加删除 2 组合框的设计使用   12.1 ListCombo程序运行时的界面功能     chap

    列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。用户选择可以是多项的,但本章的例程设计为单选的。组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进行后续处理,选择也可以用键盘的光标键。在编辑框中也可以直接输入。

     

    本章要点

    1 列表框的设计、项的添加和删除
    2 组合框的设计和使用

     

    12.1 ListCombo程序运行时的界面和功能

     

     VC++60 <wbr>第十二章 <wbr>列表框和组合框
    chap12-01

    List1在初始化时加入了六项。点击[<]按钮就把选中的项移动到List2中去。点击[>]按钮则相反。点击[<<]和[>>]按钮则移动全部项。用[清除列表]按钮可删除List1的全部项。[加入到]按钮把你选中的在编辑框中项添加到List1中,[加入全部]按钮则把组合框设置的所有项添加到List1中。组合框预置了“中国”这一项,但没有设计删除功能。列表框和组合框都有一个从0开始的整数索引和一个用于显示的文本。

     

    12.2 对话框界面设计

     

    按控件属性表设计界面。

    控件类型 标题 ID and Genaral Styles Extended Styles
    listBox   IDC_LIST1
    显示checked
    选择Simple,Border
    Virteber scroll
    listBox   IDC_LIST2
    显示checked
    选择Simple,Border
    Virteber scroll
    ComboBox   IDC_CONTRIES_COMBO
    显示checked
    类型:Drop list
    Virteber scroll
    Static edge
    Button < IDC_MOVE_BUTTON
    Button > IDC_BACK_BUTTON
    Button << IDC_MOVEALL_BUTTON
    Button >> IDC_BACKALL_BUTTON
    Button 清除列表 IDC_CLEAR_BUTTON Client edge
    Button 加入到 IDC_ADD_BUTTON Client edge
    Button 加入全部 IDC_ADDALL_BUTTON Client edge
    Button 退出 IDC_EXIT_BUTTON Client edge
    Static edge
    Modal Frame

    属性表中列出的表示“选中”,TAB复选框都要选中,就省略了。组合框可以在DATA属性页中设置项的文本,本例采用这种方法。其数据是:
    中国,美国,俄罗斯,英国,法国,德国,印度,巴基斯坦,
    日本,加拿大,澳大利亚,韩国,伊朗,伊拉克

    逗号处要改为换行,换行用Ctrl+<回车键>。设计好的界面如图chap12-02所示。

    VC++60 <wbr>第十二章 <wbr>列表框和组合框
    chap12-02

     

    12.3 设计变量和编写代码

     

    1 为三个列表框和组合框引进变量
    因为我们要对列表框的项进行操作,所以要申明三个对象类型的变量
    m_myList1
    m_myList2
    m_myCombo。

     

    2 定义一个字符串数组
    定义一个字符串数组m_myItems用来存放组合框的项的文本。在对话框的头文件的类CListCombaDlg的构造函数中申明:
        CString m_myItems[20];

     

    3 给初始化函数编写代码
    在OnInitDialog()中我们要从组合框控件获取项目的文本,给字符串数组m_myItems赋值。再用它的前六项为List1初始化。最后为组合框设置项“中国”为预选项。
    从组合框控件获取项用函数GetLBText(index, str),它把索引值为index的项的文本拷贝给str。给列表框赋值用AddString(string)函数,它在列表的尾部增加一项。类似地还可以用插入函数InsearString(...)。在// TODO: Add extra initialization here 这行的后面,我们添加如下代码:

       int count = m_myCombo.GetCount();  //获取组合框的项数
       int i =0;
        //从组合框控件获取项的文本
        for(i =0; i<count; i++)
             m_myCombo.GetLBText(i, m_myItems[i]);
        //List1初始化,六项
        for(i =0; i<6 ; i++)
            m_myList1.AddString(m_myItems[i]);
        //设置组合框默认选择项为"中国"
        m_myCombo.SetCurSel(0);

     

    4 给4个移动按钮写代码
    MOVE按钮[<]的功能是从List1中得到用户选定顶的索引号,再从这索引号获取选定顶的文本,然后删除这一项,在List2中添加一项。当前项
    获取索引号函数 index=GetCurSel()返回整数。 获取选定项的文本用函数GetText(index, item),它把指定项的文本拷贝到字符串item中。
    OnMoveButton()函数的完整代码如下:

    来源:(http://blog.sina.com.cn/s/blog_5e8a23f90100czpt.html) - VC++60 第十二章 列表框和组合框_东方一峰_新浪博客

    void CListCombaDlg::OnMoveButton()
    {
        CString item;
        int index = m_myList1.GetCurSel(); //获取选定顶索引号
        m_myList1.GetText(index, item);       //获取选定顶的文本
        m_myList1.DeleteString(index);         //删除一项
        m_myList2.AddString(item);              //添加到List2中
        m_myList1.SetCurSel(0);                   //设置首项为当前项
    }

    MOVEALL按钮的代码与上面的类似,加上循环语句就行。

    void CListCombaDlg::OnMoveallButton()
    {
      
      // TODO: Add your control notification handler code here
        CString item;

        int index =0 ;
        while(m_myList1.GetCount() >0){
            m_myList1.GetText(0, item);
            m_myList1.DeleteString(0);
            m_myList2.AddString(item);   
        };
    }
    BACK和BACKALL按钮的代码和上面的一样,只要把m_myList1和m_myList2对调就行。

     

    5 从组合框向列表框1加入当前项的代码
    这与列表框不同的是获取文本的函数名不大一样,用函数GetLBText,其余都相同。在OnAddButton()中加入代码:

    void CListCombaDlg::OnBackallButton()
    {
        // TODO: Add your control notification handler code here
        CString item;
        int index =0 ;
        while(m_myList2.GetCount() >0){
            m_myList2.GetText(0, item);
            m_myList2.DeleteString(0);
            m_myList1.AddString(item);   
        };
    }

    从组合框向列表框1加入全部项的代码如下:

    void CListCombaDlg::OnAddallButton()
    {
       //Clear old items in Linst at first
        CString item;
        while(m_myList1.GetCount()>0)
            m_myList1.DeleteString(0);
        int n = m_myCombo.GetCount();
        //Add all items
        for(int i=0; i<n; i++){
            m_myCombo.GetLBText(i, item);
            m_myList1.AddString(item);
        }   
    }

     

    6 [清除列表]和[退出]按钮的代码

    [清除列表]的按钮的代码:
        while(m_myList1.GetCount()>0)
            m_myList1.DeleteString(0);

    [退出]按钮的代码: OnOK();

     

    12.4 编译和运行

     

    至此,我们完成了界面设计和代码编写,可以编译和Build了。编译通过就可以在运行中测试程序,检查是否满足我们的设计要求。但是,代码编写常常会有许多错误,编译器会报告一大堆错误。虽然指出了错误所在的行,但要明白是什么错误还是很费劲的。如果我们在完成一部分工作后就编译一次,错误就比较少,容易找到和纠正。所以我们分以下几步来编译。
    1、界面完成后编译一次,这时运行可以看到组合框有了信息和可以选择了。
    2、对话框初始化编写后编译和运行一次,这时可以看到列表框有了信息。
    3、MOVE按钮写了代码后编译和运行一次,这时可以测试移动功能是否正确。如果成功,那这代码可以放心地复制到其他三个按钮去了。
    4、全部完成后的编译和运行。

     

    12.5 小结

     

    1 列表框和组合框属性设置中有类型选择
    组合框有三种情况:Simple, Dropdown, Drop List。Simple类型的组合框的列表框部分是固定显示的,不能下拉;而其余两种带一个下拉手柄。设计中别忘记添加滚动条。Dropdown与Drop List的区别是后者的编辑框不能输入。列表框也有三种情况:Simple, Multiple, Extended,它们决定了用户选取项的方法。Simple模式只能够选取单项,Multiple模式可以按Ctrl键+鼠标左键选取多个项,而Extended则可以通过鼠标拖处矩形一次选取连续的项,也可以加按Ctrl键作多次选择。

    2 列表框在属性页不能设置项的文本(字符串),而组合框能。

    3 列表框和组合框中的“项”都有索引号(0,1,2,...)和文本(在窗口显示)。两者都有成员函数来获取和设置这些信息。得到文本的函数名称不一样,列表框是GetText(),组合框是GetLBText()。字母LB的意思是ListBox,GetLBText的意思是“从自身的列表框中获取文本”。

    4 列表框和组合框常用的几个函数原型

    列表框的取索引号和文本的函数原型
    获取文本:
    void GetText( int nIndex, CString& rString ) const;
    用于单选模式的获取和设置索引号:
    int GetCurSel( ) const;
    int SetCurSel( int nSelect );
    用于多选模式的:
    int GetSel( int nIndex ) const;
    上式如果nIndex项是被选中的,就返回它的索引号,否则返回0。
    int SetSel( int nIndex, BOOL bSelect = TRUE );
    bSelect = TRUE就选中索引为nIndex的项,如是FALSE,则取消“选中”:如果nIndex=-1,就是全“选中”或全“不选中”。

    组合框的获取索引号和文本的函数原型
    int GetCurSel( ) const;
    int SetCurSel( int nSelect );
    void GetLBText( int nIndex, CString& rString ) const;

    添加、插入和删除项的函数原型
    int AddString( LPCTSTR lpszItem );
    int InsertString( int nIndex, LPCTSTR lpszItem );
    int DeleteString( UINT nIndex );

     

    展开全文
  • html 下的列表框和组合框

    千次阅读 2019-12-06 11:17:40
    <html> <head> <title> New Document </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head>...//加上 size 属性,combox...

    <html>
     <head>
      <title> New Document </title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     </head>


     <body>

    //加上 size 属性,combox就变成listbox了。
    <select name="tableSelect" size="5" multiple="multiple“ id="tableSelect" style="width:100">
    <option value="red">红色</option>  
    <option value="blue">蓝色</option>  
    <option value="green">绿色</option>  
    <option value="yellow">黄色</option>  
    <option value="yellow">黄色</option>  
    <option selected>白色</option>
    </select>


    <select name="country2" size="5"> //
            <optgroup label="北美洲">
                <option value="America">美国</option>
            </optgroup>
            <optgroup label="亚洲">
                <option value="China" selected="selected">中国</option>
                <option value="India">印度</option>
                <option value="Russia">俄罗斯</option>
            </optgroup>
    </select>

    <label for="blue">蓝色</label>
    <input type="radio" id="blue" value="blue" name="color" />

    <fieldset style="width:200px;">  //相当于MFC下的组合框。
        <legend>选择颜色</legend>
        <ul>
            <li>蓝色<input type="radio" value="blue" name="color" /></li>
            <li>红色<input type="radio" value="red" checked="checked" name="color" /></li>
            <li>白色<input type="radio" value="white" name="color" /></li>
        </ul>
    </fieldset>


     </body>

    </html>

     

    展开全文
  • 列表框组合框

    千次阅读 2010-04-08 15:54:00
    如果项目总数超过了列表框可显示的项目数,列表框会自动添加滚动条,可以方便用户以滚动的方式来选择列表框列表框的常用属性·listcount属性:用于返回列表框中的所有选项的个数,该属性只能在程序代码中调用设置...
  • 易语言组合框去重复到列表框

    千次阅读 2019-12-08 19:15:51
    在辅助开发时,我们需要通过组合框控制一些功能,或者获取一些数据,比如把组合框里 的值添加到列表框,这里就需要去除重复的,以下代码实现了这个功能。 .版本 2 .支持库 spec .支持库 EDataStructure .程序集 ...
  • vb学习总结, 列表框  1、属性  1、columns  该属性用来确定列表的列数。当该属性设置为0(默认)是,所用的项目呈单列显示。...list属性保存了列表框中所有值得数组,可以通过下标访问数组中的值(下标值从
  • 列表框是CListBox类的对象,组合框是CComboBox的对象,滚动条是 CScrollBar 类...在组合框(Combo Box)的属性窗口有一个“ Data ”属性,这是在设计阶段输入选项的地方,输入每一项需要用分号分隔。 CBN_EDITCHA...
  • 组合框和列表框都可以在界面上同时显示多项内容,并且允许用户选中其中的某项内容,列表框还允许同时选择多项。这两种控件的使用,有很多相似之处;2.3.1 技术要点: Windows 中预先定义了一系列“CB_ ”开头的消息...
  • 易语言组合框基本属性方法事件

    千次阅读 2020-07-08 09:09:11
    本节视频教程录制了易语言组合框的取项目数、取项目数值、取项目文本、置项目文本、加入项目、插入项目、删除项目等属性组合框基本属性方法事件截图 视频链接: 76 属性: 左边 顶边 ...
  • 向工作表中添加列表框组合框

    千次阅读 2012-05-04 10:29:40
    添加列表框(表单控件) 如果“开发工具”选项卡未显示,请显示它。 显示“开发工具”选项卡 单击“Office 按钮” ,然后单击“Excel 选项”。 在“常用”类别中的“使用 Excel 时采用的首选项”下,...
  • 组合框列表框添加元素一、RowSource属性添加元素二、为工作表中的ActiveX控件中的列表框添加元素三、使用list属性添加元素四、使用additem方法添加列表项五、列表框的其他属性 一、RowSource属性添加元素 ...
  • 组合框也就是我们通常所说的下拉列表框。既然是下拉列表框,就要向下拉列表框里面添加数据。数据的添加就要通过属性:Items来进行添加。点击该属性后,就会弹出一个对话框,然后就可以向里面添加内容了。添加后的...
  • 窗体上建立一个简单组合框,在组合框的文本框输入数字字符,按回车键后加入到组合框列表框内,如图E.8所示;单击“交换”按钮,将列表框中最小值项目第0个项目交换;最大值与最后项目交换,如图所示: 提示...
  • 列表框组合框组件也被广泛的使用。列表框表示标准Windows列表框,它提供用户选的一列选择表。如果列表框包含更多的项,不能一次显示,滚动栏提供存取列表框中其余项。 New Term 一些列表框(list boxes)是自...
  • EasyUI 组合框

    千次阅读 2016-07-29 18:12:49
    组合框(combobox)显示一个可编辑的文本框下拉列表,用户可以从下拉列表中选择一个或多个值。用户可以直接输入文本到列表的顶部,或者从列表中选择一个或多个现成的值。 1、用法 (1)、从带有预定义结构的 ...
  • 一般使用组合列表框,我们希望能够实现在提供的选项中进行搜索、通过键盘或鼠标进行选择、支持单选或多选、支持添加选项中不存在的值、多个组合列表框能联动等功能。本控件中的下拉列表使用DataGrid控件进行展示,...
  • 在mfc中的对话框里使用组合框控件的时候,在没有重写CComboBox类的情况下...同时,这些设置有可以分别针对组合框中的编辑框、组合框中的列表框组合框只读时的静态文本框(组合框的构成就是这三个部分)。 参考代码:
  • C# 列表框

    千次阅读 2017-02-09 16:46:50
    SelectionMode属性:只是列表框将是单项选择,多项选择还是不可选择; one表示只能选一个; MultiSimple表示可以选择多个; MultiExtended鼠标单击只能选择一个,但是可以利用组合键选择多个,如按住Ctrl点鼠标左键 ...
  • C# 下拉列表框

    万次阅读 2017-02-09 21:47:54
    DropDownStyle属性:控制组合框的外观功能(此属性如果选择DropDownList则只可选择而不能再框中输入,若选择DropDown则即可在框中输入又可以进行选择) Sorted属性:指定是否对组合框列表部分中的项进行排序 ...
  • 组合框控件Combo BoxCComboBox类

    千次阅读 2014-06-24 14:54:27
    本节主要讲解组合框控件Combo Box。组合框同样相当常见,例如,在Windows系统... 组合框其实就是把一个编辑框一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框下拉列表式(Drop
  • MFC编程之组合框控件

    2018-05-04 15:46:35
    组合框其实就是把一个编辑框一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框下拉列表式(Drop List)组合框。下面讲讲它们的区别。 简易组合框中的列表框是一直显示的。 ...
  • 1.在同一个窗体内增添了多个单选,系统默认每次只选中一个单选按钮,若是选择一个框架Frame,那么则是在这个框架之内,每次选中一个单选按钮。 2.判定option按钮是否被选中,需要判定option(i).value的值,若为...
  • C# ComboBox:组合框控件

    千次阅读 2019-06-11 23:19:40
    在C#WinForm开发中组合框(ComboBox)控件也称下拉列表框, 用于选择所需的选项,例如在注册学生信息时选择学历、专业等。 使用组合框可以有效地避免非法值的输入。 在组合框中也有一些经常使用的属性,如下表所...
  • 组合框

    千次阅读 2012-05-23 15:31:04
    提供一种方法来显示多个选项,同时节省空间,组合框结合了列表框和编辑框的功能。组合框控件的功能被封装在Microsoft基础类库CComboBox类。本教程演示了这个类的一些常用功能。  如何获取列表中的选项:(Ctrl+...
  • 列表框控件简介

    千次阅读 2015-09-29 11:26:36
    列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项,而多选列表框可以同时选择多个列表项。  列表框也会向父窗口发送通知消息。这些通知消息及含义如下:  LBN_DBLCLK :...
  • VS2015 MFC组合框控件

    千次阅读 2017-08-09 10:09:57
    MFC中的组合框控件用CComboBox类来表示。该控件可以看作是列表控件编辑框控件的组合。一般情况下,在列表框中选择了某项之后,该项的内容会在文本框中显示出来。
  • 组合框控件

    2011-06-24 09:24:00
    组合框把一个编辑框一个单选择列表框结合在了一起.用户既可以在编辑框中输入,也可以从列表框中选择一个列表项来完成输入。组合框分为简易式(Simple combo box)、下拉式(Drop-down combo box)下拉列表式(Drop-...
  • 列表框控件

    千次阅读 2005-04-27 16:28:00
    列表框分单选列表框和多重选择列表框两种.单选列表框一次只能选择一个列表项,而多重选择列表框可以进行多重选择.对于列表项的选择, 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 117,963
精华内容 47,185
关键字:

列表框和组合框都具有的属性