MFC中listbox控件中各种属性的详解

 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()函数中添加实现代码即可

时间: 2024-10-29 15:43:22

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

MFC中Listbox控件的简单使用

MFC中listbox控件是为了显示一系列的文本,每个文本占一行.   Listbox控件可以设置属性为: LBS_CHILD   :(默认)子窗口 LBS_Visible :(默认)可视 LBS_Multiplesel :可选择多行 LBS_Extendedsel :可以使用shift或ctrl选择多行 LBS_SORT:所有行按字母顺序进行排序   对Listbox进行操作: Int listbox.AddString (  LPCTSTR     Str)   :对listbox的首行添加

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

实现效果: 知识运用: ListBox控件的Sorted属性 //ListBox控件中的数据项是否按字母顺序排序 public bool Sorted{get;set;} 实现代码: private void button1_Click(object sender, EventArgs e) { listBox1.Sorted=true; } 原文地址:https://www.cnblogs.com/feiyucha/p/10159855.html

C#winform中使用控件的Dock属性进行布局

想要实现如下布局,可以通过设置控件的Dock属性达到效果 1.拖放一个panel控件一个label控件(放在panel中)和一个treeView控件到TestForm中 2.设置panel的Dock属性为Top(设置BorderStyle属性为FixedSingle,这样显得美观些),设置treeView的Dock属性为Fill 3.需要注意的是要先把panel放到TestForm中,先放treeView就会使得treeView填充TestForm而被后放置的panel遮盖,如下所示 4.想要实

VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息

[cpp] view plaincopy BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl) //{{AFX_MSG_MAP(CTipListCtrl) ON_WM_MOUSEMOVE() ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTipLis

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

原文:WPF中PasswordBox控件的Password属性的数据绑定 英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://blog.csdn.net/oyi319/article/details/6551532 WPF的PasswordBox控件的Password属性不是依赖属性,无法直接进行数据绑定,为使其在MVVM模式中正常使用,可以为PasswordBox增加一个助手类,代码如下: 注:代码摘自:http://www

MFC 在Picture控件中显示图像(JPG)

首先选择图片: void Chbgk_picDlg::OnBnClickedButton1() { CFileDialog cfd(true,_T(".jpg"),NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,_T("Executable Files (*.jpg)|*.jpg|All Files (*.*)|*.*||"),this); //选项图片的约定 if(cfd.DoModal()!=IDOK) //判断是否获得图片 {

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

在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes和点击选中CheckBoxes时自动显示正行选中状态的单选功能. 效果图: 主要利用两个事件:listView1_ItemCheck和listView1_SelectedIndexChanged事件. 上代码: [csharp] view plain copy print? private void listView1_ItemCheck(object sender, ItemChec

MFC 在Picture控件中显示图像(BMP

下面是关于怎样使用Picture Control显示BMP图片: 查找了一下SetBitmap是这样定义的: /////////////////////////////////////////////////////////////////////////////////// // uBmpResource:图片ID; uCtrlResource: Picture控件ID void SetBitmap(UINT uBmpResource, UINT uCtrlResource) { HBITMA

windows phone开发中textbox控件的header属性

备注:博主windows phone学习新手,在博客园上分享自己刚刚掌握的一些学习笔记,内容简单,高手勿喷! 前一段时间看@消失3003的博客,发现了textboxt的header属性.这一属性在编写UI时可以节约不少代码,十分有用. 之前编写一个如下的微信登陆界面,代码会很长: 未使用Header属性的UI及代码: 代码如下: <Grid> <TextBlock Text="登录" FontSize="20" Margin="0,15,