精华内容
下载资源
问答
  • 动态的填充列表框和组合框
  • 列表框和组合框

    2012-05-10 09:22:29
    vc 列表框 组合框
  • C#列表框组合框、复选列表框的例子,很有用!!
  • 易语言列表框配置组合框源码,列表框配置组合框
  • 主要介绍了C#列表框、复选列表框组合框的用法,实例分析了在一个简单存储项目中列表框、复选列表框组合框的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • C++ MFC 列表框和组合框,C++ MFC
  • 通过使用列表框和组合框来熟悉并掌握适应这两个控件
  • 易语言学习进阶编辑框列表框模拟组合框源码,学习进阶编辑框列表框模拟组合框
  • 列表框改装组合框.mdb

    2013-05-11 22:11:25
    列表框改装组合框 这里用实力的方式展示了列表框和组合框的区别,方便同志们学习。
  • 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶...
  • 易语言列表框配置组合框源码.rar
  • 列表框和组合框 列表框是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):滚动条
    展开全文
  • 易语言源码易语言列表框配置组合框源码.rar
  • 将一个枚举绑定到组合框列表框的另一种简单方法
  •  VC++在列表框组合框中显示文件目录列表,源码实例包请下载。把EXE文件拷贝至任意目录中,双击运行,点击“显示文件目录列表”即可获取当前文件夹下的所有文件名称。 来源:乐乐源码(www.lelecode.com)
  • 易语言列表框配置组合框源码
  • 超级列表框功能置入 例子【带模块 】 支持修改日期选择框编辑框组合框 一句话代码置入 可置入日期框 组合框 选择框 编辑框
  • 易语言源码易语言学习进阶编辑框列表框模拟组合框源码.rar
  • 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 GenaralStylesExtended 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_BUTTONClient edge
    Button加入到IDC_ADD_BUTTONClient edge
    Button加入全部IDC_ADDALL_BUTTONClient edge
    Button退出IDC_EXIT_BUTTONClient 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 );

     

    展开全文
  • 二 增加组合框和列表框 三 更改组合框和列表框的ID ID分别为:IDC_COMBO_COMM,IDC_LIST_DEMO,IDC_EDIT_INPUT 四 给列表框添加变量 五给按键添加代码 void CMFCApplicationBOXDlg::...

    一 新建一个工程

    二 增加组合框和列表框

    三 更改组合框和列表框的ID

     

    ID分别为:IDC_COMBO_COMM,IDC_LIST_DEMO,IDC_EDIT_INPUT

     

    给列表框添加变量

     

     

    五给按键添加代码

     

    void CMFCApplicationBOXDlg::OnBnClickedButtonAdd()

    {

        // TODO: 在此添加控件通知处理程序代码

        CString strText;

            GetDlgItemText(IDC_EDIT_INPUT, strText);        //获取输入的字符串

     

            m_cmb_comm.AddString(strText);                  //把输入的字符串加到列表框中

            m_cmb_comm.SetCurSel(m_cmb_comm.GetCount()-1);  //显示当前输入的数,数据是从0开始的,这里减一

     

            m_lst_demo.AddString(strText);

            m_lst_demo.SetCurSel(m_lst_demo.GetCount() - 1);

    }

     

     

    void CMFCApplicationBOXDlg::OnBnClickedButtonDel()

    {

        // TODO: 在此添加控件通知处理程序代码

        int nIndex;

     

        nIndex = m_cmb_comm.GetCurSel();                       //获取当前列表选择的值

        if (nIndex > -1)                                       //如果列表有数值

        {

            m_cmb_comm.DeleteString(nIndex);                   //删除当前列表

            if (nIndex < m_cmb_comm.GetCount())               //如果后没还有列表,显示后面的

                m_cmb_comm.SetCurSel(nIndex);

            else                                              //如果后没没有了,就显示最前面的

                m_cmb_comm.SetCurSel(0);

        }

        nIndex = m_lst_demo.GetCurSel();                       //获取当前列表选择的值

        if (nIndex > -1)

        {

            m_lst_demo.DeleteString(nIndex);

            if (nIndex < m_lst_demo.GetCount())

                m_lst_demo.SetCurSel(nIndex);

            else

                m_lst_demo.SetCurSel(0);

        }

    }

     

    运行结果

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

    千次阅读 2019-12-06 11:17:40
    "> //相当于MFC下的组合框。  选择颜色    蓝色<input type="radio" value="blue" name="color" /></li>  红色<input type="radio" value="red" checked="checked" name="color" /></li>  白色...
  • MFC VC++编程 列表框, 组合框, 滚动条控件
  • 他山之石——VBA列表框和组合框

    千次阅读 2018-07-02 18:30:41
    继续学习VBA!不过,这部分都属于“控件”级编程,比较琐碎,偏“前端”一点,在目前的工作中用的不多。毕竟,在数据分析、自动化领域中,界面不是必须的,而数据处理逻辑及数据质量(准确性、完整性)则是重中之重...
  • 有关支持Edit,ListBoxComboBox控件的TitleTips的混合类的文章
  • 易语言数据库与组合框、超级列表框源码,数据库与组合框、超级列表框,读年级

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 183,048
精华内容 73,219
关键字:

列表框和组合框的功能