【windows C语言程序设计】 使用ListBox控件,基本知识的准备和研究(一)
来源:互联网 发布:阿里云短信验证码平台 编辑:程序博客网 时间:2024/06/05 02:28
今天我要好好学习ListBox这个控件,这是在MSDN中的位置,VS2003的MSDN就是好目的地,就是漂亮。就是好用。
首先这些外国字,反译成汉字,使用外国佬的google翻译 + 金山词爸,能明白大概意思就行了,主要的内容记录在下在,方便以后更深入的整理成资料。
MSDN中的资料位置
列表框
-------------------------------------------------- ------------------------------
有关列表框
本节介绍列表框的功能。
使用列表框
函数
DlgDirList
DlgDirList函数自动显示指定目录中的文件名称。可以自己指定要过滤的文件属性。当然也可以只显示一些驱动器比如:C盘,D盘之类的东西,和VB中的listbox是一样功能。自从学了VisualBasic以后,这些东西就变得简单多了。一看就明白。
DlgDirSelectEx
DlgDirSelectEx 是上面函数的扩展
GetListBoxInfo
GetListBoxInfo函数返回指定列表框中某一项的信息。
下面就是最重要的消息符号了,知道这些东西,就可以SendMessage来操作ListBox
【LB_ADDFILE】
应用程序发送消息的LB_ADDFILE指定的文件名添加到列表框,其中包含一个目录列表。
发送这个消息之前,先要使用DlgListDir初始控件。
】LB_ADDSTRING】
应用程序发送一个LB_ADDSTRING消息添加一个字符串到一个列表框。如果列表框没有LBS_SORT样式,该字符串被添加到列表的末尾。否则,该字符串被插入到列表和列表进行排序。
//就是不一个字符串,没有排序的话,默认添加到最后一行。
【LB_DELETESTRING】
应用程序发送一个LB_DELETESTRING消息删除列表框中的字符串。
//对面ADD的消息,这个是删除一个项目
【LB_DIR】
应用程序发送消息到一个LB_DIR列表框名称添加到列表框中显示的清单。该消息增加了目录和文件指定的字符串匹配和文件属性集的名称。 LB_DIR还可以添加驱动器号映射到列表框中。
//这个消息和DlgListDir函数差不多的吧
【LB_FINDSTRING】
应用程序发送消息的LB_FINDSTRING找到一个列表框,以指定字符串开始的第一个字符串。
//查找符串,找到会自动定位到那一行的。
【LB_FINDSTRINGEXACT】
应用程序发送LB_FINDSTRINGEXACT,查找第一个列表框中的字符串完全匹配的指定字符串,除了搜索不区分大小写。
//另外一种查找方法
【LB_GETANCHORINDEX】
应用程序发送一个LB_GETANCHORINDEX信息检索锚项目的索引
//是不是和下面的一样的。
【LB_GETCARETINDEX】
应用程序发送一个LB_GETCARETINDEX消息,以确定该项目具有在多选列表框的焦点矩形指标。该项目可能会或可能不会被选中。
//返回当前焦点所在的项目 ,焦点所在的项目不一定是被选中的那一行。
【LB_GETCOUNT】
应用程序发送一个LB_GETCOUNT信息检索列表框中的项目数。
//返回控件中的项目行数,最多32767个,超过这个数会返回-1
【LB_GETCURSEL】
发送LB_GETCURSEL信息检索当前选定项的索引在一个单项选择列表框,如果有的话。
//返回当前选中项目的索引
【LB_GETHORIZONTALEXTENT】
应用程序发送消息的LB_GETHORIZONTALEXTENT像素检索列表框的宽度,其中列表框可以水平滚动(可滚动的宽度)如果列表框具有水平滚动条。
//返回水平滚动条的宽度,自绘样式才用得到吧。
【LB_GETITEMDATA】
应用程序发送一个LB_GETITEMDATA信息检索应用程序定义的值指定列表框项相关联。
//获取保存在每个项目扩展位中的数据,这个功能非常的好,非常的好。
【LB_GETITEMHEIGHT】
应用程序发送一个LB_GETITEMHEIGHT信息检索在一个列表框项目的高度。
//获取每一个项目的高度,自绘画的时候才有用。
【LB_GETITEMRECT】
应用程序发送一个LB_GETITEMRECT信息检索范围的矩形框的列表项,因为它是目前在列表
框中显示的尺寸。
//返回一整个项目的框框大小,没什么用,自给画的时候才有用。
【LB_GETLISTBOXINFO】
应用程序发送一个LB_GETLISTBOXINFO信息检索在指定的列表框中,每列的项目数。
//The return value is the number of items per column.
返回一个项目,相当于GetListBoxInfo函数,等下再学。
【LB_GETLOCALE】
应用程序发送一个LB_GETLOCALE信息检索列表框的当前语言环境。您可以使用语言环境确定正确的显示文本排序顺序(列表框与LBS_SORT样式)和文本由LB_ADDSTRING消息补充说。
//返回一个区域信息,相当于C语言中的local一样的。
【LB_GETSEL】
应用程序发送一个LB_GETSEL信息检索项目的选择状态。
//判断某一个项目的选择状态,是选中了,还是没有选中。
【LB_GETSELCOUNT】
应用程序发送一个LB_GETSELCOUNT信息检索在多选列表框中选定的项目总数。
//返回这个控件中有几个被选中的项目。
【LB_GETSELITEMS】
应用程序发送一个LB_GETSELITEMS消息装满一个整数,指定在一个多选列表框中选定的项目,项目编号数组缓冲区。
//返回一个数组,就是那些被选中的项目,是一个字符串数组吗??
【LB_GETTEXT】
应用程序发送一个LB_GETTEXT信息检索从一个列表框中的字符串。
//返回指定索引号的项目字符
【LB_GETTEXTLEN】
应用程序发送一个LB_GETTEXTLEN信息检索中的一个列表框中的字符串的长度。
//判断某个项目的字符串长度
【LB_GETTOPINDEX】
应用程序发送一个LB_GETTOPINDEX信息检索在列表框中第一个可见项的索引。最初的索引为0的项在列表框的顶部,但如果列表框的内容已被滚动的另一个项目可能会在顶部。
//选择中那个在框框中最顶层的,而且是能看见的,被挡住的不算。
【LB_INITSTORAGE】
再加入一个应用程序发送大量的项目到列表框LB_INITSTORAGE消息。此消息分配用于存储列表框项目的记忆。
//发送大指的项目用到的。
//wParam 指定要添加的项目个数
//lParam 指定这要分派字符串的内存总数,用字节表示
【LB_INSERTSTRING】
应用程序发送一个LB_INSERTSTRING信息插入到列表框中的字符串。不像LB_ADDSTRING消息,LB_INSERTSTRING消息不会导致与LBS_SORT样式列表进行排序。
//插入,在指定的位置添加字符串
【LB_ITEMFROMPOINT】
应用程序发送信息检索的LB_ITEMFROMPOINT最近在一个列表框中指定点的项目零的索引。
//这个消息很有用,使用鼠标当前的坐标来判断在哪个项目上。。。
【LB_RESETCONTENT】
应用程序发送一个LB_RESETCONTENT消息删除列表中的所有项目。
//就是全部清空,VB中的clear一样。
【LB_SELECTSTRING】
应用程序发送一个LB_SELECTSTRING信息搜索一个项目,在指定的字符串中的字符开始一个列表框。如果找到一个匹配的项目,该项目被选中。
//查找并选中这个项目。
【LB_SELITEMRANGE】
应用程序发送消息的LB_SELITEMRANGE选择一个或多个多选列表框连续项。
//选择多个项目
//wParam 指定显示的状态,TRUE或者是FALSE 是高亮显示还是不高亮显示的意思。
lParam 低字节表示开始的索引事情,高字节表示结束的索引号
【LB_SELITEMRANGEEX】
应用程序发送消息的LB_SELITEMRANGEEX选择一个或多个多选列表框连续项。
//这个是上面那个消息的扩展,wparam表示开始索引号,lParam表示结束索引号
【LB_SETANCHORINDEX】
应用程序发送一个LB_SETANCHORINDEX消息设置锚项目
//设置那个项目为焦点项目。
【LB_SETCARETINDEX】
应用程序发送一个LB_SETCARETINDEX消息设置指定索引在多选列表框的焦点矩形的项目。如果该项目是不可见的,它是滚动到视图。
//设置那个项目为焦点项目,游动条会自己定位到这个项目,就是边上会有虚线框的那种。
【LB_SETCOLUMNWIDTH】
应用程序发送消息到一个LB_SETCOLUMNWIDTH多列列表框(与LBS_MULTICOLUMN样式创建)来设置宽度,以像素为单位,在列表框中的所有列。
//设置每一列的宽度
【LB_SETCOUNT】
应用程序发送一个LB_SETCOUNT消息设置与LBS_NODATA风格创建了一个列表框的项目数和不符合LBS_HASSTRINGS样式创建。
//这个消息干什么用啊。设置项目总数,而且是LBS_NODATA样式的,不能有LBS_HASSTRING样式的。
【LB_SETCURSEL】
应用程序发送消息的LB_SETCURSEL选择一个字符串,然后滚动到视图中,如有必要。当新的字符串被选中,从列表框中删除以前选定的字符串亮点。
//设置某个项目为当前选中的项目的,焦点也应该在这里个项目上吧。
【LB_SETHORIZONTALEXTENT】
应用程序发送一个LB_SETHORIZONTALEXTENT消息设置宽度以像素为单位,其中一个列表框可以水平滚动(可滚动的宽度)。如果列表框的宽度小于此值,水平滚动条滚动水平在列表框中的项目。如果列表框的宽度等于或大于这个值,水平滚动条是隐藏的。
//设置水平滚动条的信息,有什么用?
【LB_SETITEMDATA】
应用程序发送一个LB_SETITEMDATA消息设置与在一个列表框中指定的项目关联的值。
//这个消息好,很有用,可以绑定一个指针到这个项目的扩展位,太有用了。
【LB_SETITEMHEIGHT】
应用程序发送一个LB_SETITEMHEIGHT消息设置在一个列表框中的像素高度,物品。如果列表框具有LBS_OWNERDRAWVARIABLE风格,此消息设置由wParam参数指定的项目的高度。否则,此消息设置列表框中的所有项目的高度。
//设置项目的高度,只有自绘画风格才有用。
【LB_SETLOCALE】
应用程序发送一个LB_SETLOCALE消息设置列表框的当前语言环境。您可以使用语言环境确定正确的显示文本排序顺序(列表框与LBS_SORT样式)和文本由LB_ADDSTRING消息补充说。
//设置文字的区域显示风格
【LB_SETSEL】
应用程序发送消息的LB_SETSEL中选择一个多选列表框中的字符串。
//选中某个项目
【LB_SETTABSTOPS】
应用程序发送一个LB_SETTABSTOPS消息设置在一个列表框中的制表位位置。
//设置TAB键的顺序
【LB_SETTOPINDEX】
应用程序发送一个LB_SETTOPINDEX信息,以确保在列表框中特定项目是可见的。
//显示第几个项目作为框框中最顶层的,第一个显示的内容。
上面的这些消息一定要掌握使用方法,今天要做出一个DEMO例子来实际操作一下。
- 【windows C语言程序设计】 使用ListBox控件,基本知识的准备和研究(一)
- 【windows C语言程序设计】 使用ListBox控件,基本知识的准备和研究(二)
- 【windows 程序设计】 -LISTBOX控件的学习和研究
- [C#][控件]列表控件listbox(一)
- Windows SDK下ListBox控件的使用
- (转载)mfc listbox 控件-ListBox控件的使用
- (转载)mfc listbox 控件-ListBox控件的使用
- ListBox控件的使用
- ListBox控件的使用
- 控件listbox的使用
- VFP中关于ListBox和Command控件的使用一例
- VS.NET windows编程基础之ListBox控件的使用
- Windows编程入门(8)--MFC中ListBox控件的使用
- ListBox Grouping的研究(一):初探GroupItem对象
- VC++------------ListBox控件的使用
- VC++----ListBox控件的使用
- C语言程序设计笔记(一)
- C语言程序设计入门(一)
- Linux 汇编语言开发指南
- FTP命令
- 360与腾讯弹窗大战 数亿网民被迫围观
- 在地图上点击Ajax查询
- [转]在Window Embedded CE(Wince)下使用OpenNETCF进行路由表的开发
- 【windows C语言程序设计】 使用ListBox控件,基本知识的准备和研究(一)
- Mozilla NPAPI ( Part 2 )
- GSD文件格式
- Web设计/开发技巧、脚本及资源总结(转)
- FluorineFx + Flex视频聊天室案例开发----客户端 (上)
- php 5 clone __clone()
- QOS 优先级 PHB,EXP,浅解
- javascript中的字符串操作方法
- ext2、ext3与ext4的区别