ListBox 的处理消息整理
基于 MSDN 的 ListBoxD 处理消息
(1)、LB_FINDSTRING 消息(一般查找)
wParam 在第一个条目被查找到之前的条目索引(也就是开始查找的索引位置)。当搜
索达到列表框的底部时,搜索将重新回到由该参数指定的位置从头查找。如果该参数为-
1,将从列表框的起始索引(0)开始查找。
lParam 一个指向以 NULL 结尾的字符串,该字符串包含了将要搜索的内容。搜索是大
小写敏感的。所以可以搜索任何大小写组合的字符串形式。
Return Value 如果成功,返回第一个匹配的条目的索引,如果失败,返回 LB_ERR。
备注::如果你以自绘形式创建的列表框,该消息会返回一个匹配由 lParam 参数提供的值
长整型的值。
(2)、LB_FINDSTRINGEXACT 消息(精确查找)
wParam 基于零的开始索引。当搜索达到列表框的底部时,将返回到开始索引处继续
进行搜索。如果该参数为-1,将从列表框的开始处从头执行搜索。s
lParam 指向被搜索字串的字符串指针。该字符串可以包含完整的文件名及扩展。搜
索是不分大小写的。
Return Value 返回值是基于零的匹配条目的索引。当失败时,返回 LB_ERR。
Remarks 该函数仅在指定字符串和列表框中的条目的长度相等且每个字符均相等的
情况才算匹配。如果一个应用程序以自绘样式创建列表框,则由该消息执行的内容将取决
于 LBS_SORT 是否被使用。
(3)、LB_GETANCHORINDEX 消息sssssss//获得条目锚点的索引,锚点就是多选状态下
选择的起始条目。
(4)、LB_GETCARETINDEX 消息sssssssssssssssss//返回在多选状态下,具有焦点的条目的
索引。该条目既可以被选中,也可以是没被选中。
(5)、LB_GETCURSEL 消息ssssssssssssssssss//获得当前被选条目的索引。仅在单选状态的
列表框有效。
Return Value 在单选状态的列表框中,返回值是基于零的当前选中条目的索引,如果未
发现选中的条目,返回值是 LB_ERR。
Remarks 不要给多选状态的列表框发送该消息。为了获得处于多选状态的列表框的选
中条目的索引,可以使用 LB_GETSELITEMS 消息。如果要获得多选状态下的列表框中哪
一个条目具有焦点,可以使用 LB_GETSEL 消息。如果将该消息发送给一个具有多选状态
的列表框,该消息返回具有焦点的条目索引。如果没有条目被选中,返回s0.