ListBox控件是Windows 窗体的一个空间,ListBox 控件显示一个项列表,用户可从中选择一项或多项。

     如果项总数超出可以显示的项数,则自动向 ListBox 控件添加滚动条。当 MultiColumn 属性设置为 true 时,列表框以多列形式显示项,并且会出现一个水平滚动条。当 MultiColumn 属性设置为 false 时,列表框以单列形式显示项,并且会出现一个垂直滚动条。当 ScrollAlwaysVisible 设置为 true 时,无论项数多少都将显示滚动条。SelectionMode 属性确定一次可以选择多少列表项。

      SelectedIndex 属性返回对应于列表框中第一个选定项的整数值。通过在代码中更改 SelectedIndex 值,可以编程方式更改选定项;列表中的相应项将在 Windows 窗体上突显出来。如果未选定任何项,则 SelectedIndex 值为 -1。如果选定了列表中的第一项,则 SelectedIndex 值为 0。当选定多项时,SelectedIndex 值反映列表中最先出现的选定项。SelectedItem 属性类似于 SelectedIndex,但它返回项本身,通常是字符串值。Items.Count 属性反映列表中的项数,并且 Items.Count 属性的值总比 SelectedIndex 的最大可能值大 1,因为 SelectedIndex 是从零开始的。
      若要在 ListBox 控件中添加或删除项,请使用 Items.Add、Items.Insert、Items.Clear 或 Items.Remove 方法。或者,可以在设计时使用 Items 属性向列表添加项。
      其中,selection中的四种选择模式(single、multiple、extended、None)的说明:
      single:允许每次选择一个item;
      multiple: 允许每次选择多个item;
      extended:允许按下Shift或者Ctrl来选择多行;
      None:选中item,但是不高亮之,只显示该item上交点(item外有矩形框)。
 
/////////////////////////////////////////////////////////////////////////////////////

对Listbox进行操作:

Int listbox.AddString (  LPCTSTR     Str)   :对listbox的首行添加一个str的文本行,即此时nIndex为0;

Int listbox.DeleteString (uint nIndex)     :删除listbox中第nIndex行的文本行,注意nIndex是从0起始的;

int listbox.InsertString (uint xIndex, LPCTSTR  Str):在listbox中第nIndex行插入一个str的文本行;

Int listbox.GetCount (  ):获取listbox的行的总数目;

Int listbox.GetCurSel  ( ):得到listbox选中的文本行的行数。

Void listbox.ResetContent (  ):清除listbox中的所有数据;

Int listbox.GetCurCount ( ):获取listbox被选中的行的数目;

Int listbox.FindString  ( int nstart , LPCTSTR  Str ):从第nstart行开始起进行查找,查找Str的文本行;

Int listbox.SelectString ( int nstart, LPCTSTR Str ) :从第nstart行开始,选择包含Str字符串的那一行;

/////////////////////////////////////////////////////////////////////////////////////////

对Listbox中某一行进行双击操作,要产生一个响应函数的步骤:

BEGIN_MESSAGE_MAP()

END_MESSAGE_MAP()

之间添加响应函数的消息映射,如函数名为C**Dlg::OnLbnDblClk,添加下面代码

ON_LBN_DBLCLK(IDC_LIST1,&C**Dlg::OnLbnDblClk)

//IDC_LIST1为listbox控件的ID

然后在C**Dlg.h中添加函数OnLbnDblClk()的声明

最后在C**Dlg::OnLbnDblClk()函数中添加实现代码即可

MFC中listbox控件中各种属性的详解的更多相关文章

  1. MFC中Listbox控件的简单使用

    MFC中listbox控件是为了显示一系列的文本,每个文本占一行.   Listbox控件可以设置属性为: LBS_CHILD   :(默认)子窗口 LBS_Visible :(默认)可视 LBS_M ...

  2. 对ListBox控件中的数据进行排序

    实现效果: 知识运用: ListBox控件的Sorted属性 //ListBox控件中的数据项是否按字母顺序排序 public bool Sorted{get;set;} 实现代码: private ...

  3. 选中ListBox控件中的全部项

    实现效果: 知识运用: ListBox控件的SelectedItems属性 //获取ListBox控件中被选中数据项的集合 public ListBox.SelectedObjectCollectio ...

  4. C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

    C# winform项目中ListView控件使用CheckBoxes属性实现单选功能 在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes ...

  5. WPF中Image控件的Source属性

    原文:WPF中Image控件的Source属性 imgBook 是一个Image控件,在后台代码中我想给它指定Source的属性.我先如下方式进行: Uri uri = new Uri(strImag ...

  6. WPF中PasswordBox控件的Password属性的数据绑定

    原文:WPF中PasswordBox控件的Password属性的数据绑定 英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://bl ...

  7. C# LIstbox 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题 分类: winform2008-05-24 02:33 2592人阅读 评论(11) 收藏 举报 winf ...

  8. 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合” 最近更新: 2013-2-15    587   很少写WinForm程序第一次使用ListBox控件就遇到了比 ...

  9. .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】

    1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...

随机推荐

  1. JVM学习--(六)类加载器原理

    我们知道我们编写的java代码,会经过编译器编译成字节码文件(class文件),再把字节码文件装载到JVM中,映射到各个内存区域中,我们的程序就可以在内存中运行了.那么字节码文件是怎样装载到JVM中的 ...

  2. AOP的相关概念

  3. UML类图中连接线与箭头的含义(转)

    UML类图是描述类之间的关系 概念 类(Class):使用三层矩形框表示. 第一层显示类的名称,如果是抽象类,则就用斜体显示. 第二层是字段和属性. 第三层是类的方法. 注意前面的符号,'+'表示pu ...

  4. Day7 类的继承和继承实现的原理

    继承可以分为但继承,多继承. 继承的基本形式 class ParentClass1(object): #定义父类 pass class ParentClass2: #定义父类 pass class S ...

  5. 解决iframe在移动端(主要iPhone)上的问题

    前言 才发现已经有一段时间没有写博客了,就简单的说了最近干了啥吧.前段时间忙了杂七杂八的事情,首先弄了个个人的小程序,对的,老早就写了篇从零入手微信小程序开发,然后到前段时间才弄了个简单的个人小程序, ...

  6. 拾人牙慧篇之——基于HTML5中websocket来实现消息推送功能

    一.写在前面 要求做一个,后台发布信息,前台能即时得到通知的消息推送功能.网上搜了也有很多方式,ajax的定时询问,Comet方式,Server-Sent方式,以及websocket.表示除了定时询问 ...

  7. Nginx 的安装与配置

    一.下载 Linux:CentOS 7.3 64位 Nginx:nginx-1.13.1 安装目录:/usr/local/ wget http://nginx.org/download/nginx-1 ...

  8. Java基础:Java虚拟机(JVM)

    当我们第一次学习Java时这些原理上的东西就会被提到,但是很少有真正去学习.今天开始从头过一遍Java,打算从JVM开始. 1. JVM是什么 2. JRE和JDK 3. JVM结构 3.1. 程序计 ...

  9. 自定义完美的ViewPager 真正无限循环的轮播图

    网上80%的思路关于Android轮播图无限循环都是不正确的,不是真正意义上的无限循环, 其思路大多是将ViewPager的getCount方法返回值设置为Integer.MAX_VALUE, 然后呢 ...

  10. idea 整合ssm 启动页404问题