List Box 消息

来源:互联网 发布:淘宝内部券app 编辑:程序博客网 时间:2024/05/22 06:32

 

LBS_EXTENDEDSEL       使用键盘“SHIFT”键或另指定键加鼠标进行多选。就是VC  RC 编辑器上的 Selection 里面选上Extended

LBS_MULTICOLUMN       多列列表框,带有水平滚动条。应用程序可以用 LB_SETCOLUMNWIDTH 消息来为列表框指定列数。

LBS_MULTIPLESEL       支持多重选择。

LBS_NOREDRAW          禁止刷新。当选择发生变化时防止列表框被更新,可发送WM_SETREDRAW来改变该风格。
LBS_NOSEL             禁止选择,列表项只能看,不能被选择。

LBS_SORT              使插入列表框中的项按字母升序排列.

LBS_WANTKEYBOARDINPUT 响应键盘输入。当控件拥有键盘输入焦点时,允许接收父窗口接收WM_VKEYTOITEM和WM_CHARTOITEM消息,输入字符。

 

List Box 接收如下Message

下面就把常用的几个写一下

 

LB_ADDSTRING

这个消息,如果指定了LBS_SORT风格,表项会自动重按字母序重排。而LB_INSERTSTRING不会自动重排

 

LB_FINDSTRING       如果wParam 为-1 则从列表第一项开始查找,找到返回表项序号。否则按WPARAM 指定的INDEX 项开始查找

                                另外它是不精确匹配查找,比如 有“FUCK123",查找 ”fuck"即为找到

LB_FINDSTRINGEXACT  就是精确匹配字符串

LB_GETCOUNT 返回列表项的总项数

LB_GETCURSEL 返回当前被选择项的索引,如果没有返回LB_ERR

LB_GETITEMDATA       返回每个列表项的一个32位的附加数据

LB_GETSEL              用于测试指定索引项是否被选择

LB_GETSELCOUNT                本操作仅用于多重选择列表框,它返回选择项的数目

LB_GETTEXT                  用于获取指定列表项的字符串

LB_GETTEXTLEN        返回指定列表项的字符串的字节长度

LB_GETTOPINDEX                       返回列表框中第一个可见项的索引

LB_RESETCONTENT       清除所有列表项

LB_SELECTSTRING       本操作仅适用于单选择列表框,设定与指定字符串相匹配的列表项为选中项

LB_SELITEMRANGEEX      本操作仅用于多重选择列表框,终点大于起点则设定该范围为选中,定起点大于终点则设定该范围为落选。

LB_SETCOUNT           设置表项数目

LB_SETCURSEL           本操作仅适用于单选择列表框,设置指定的列表项为当前选择项,wParam指定了列表项的索引,若为-1,

                                 清除列表框中的选择

LB_SETITEMDATA         更新指定列表项的32位附加数据。

LB_SETSEL                 本操作仅适用于多重选择列表框,它使指定的列表项选中或落选。参数lParam指定了列表项的索引,若为-1,

                                  则相当于指定了所有的项。参数wParam为TRUE时选中列表项,否则使之落选。若出错则返回LB_ERR。

 

当用户在列表框上进行各种操作时,其父窗口将收到WM_COMMAND通知消息,同时wParam的低16位带控件的ID。lParam带控件句柄(hWnd),wParam的高16位带有如下表的消息代码。
 消息代码           说明
LBN_DBLCLK    用户单击了列表项。
LBN_ERRSPACE  列表框无法申请到足够的内存空间。
LBN_KILLFOCUS 列表框失去输入焦点。
LBN_SELCANCEL 取消选择列表项。
LBN_SELCHANGE 列表框的选择项即将被改变。
LBN_SETFOCUS  列表框得到键盘输入焦点。