如何在列表框中自动查找

ZDNet软件频道 时间:2004-12-06 作者:Builder.com |  我要评论()
本文关键词:vbtips PeterAitken
当列表框拥有定位功能,它就会自动滚动到第一项,以你所输入的字母为开始。然而,它不会在多于第一个字母的情况下,自动选择项目。
本文译自Builder.com,未经许可请勿转载

当列表框拥有定位功能,它就会自动滚动到第一项,以你所输入的字母为开始。然而,它不会在多于第一个字母的情况下,自动选择项目。比如,如果你输入”ap”,你也许想要控制选择以”ap”为始的第一项。这个技巧解释了你如何能够执行这个行为是用API功能发送消息。如下它的必须罗列在程序中的声明:gongweini表框拥有定位,

Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByValhwnd As Long, _
ByValwMsg As Long, ByValwParam As Long, _
ByVallParam As String) As Long

你将会需要如下的常数,这些常数告诉列表框选择以特定字头开始的第一个项目:

Public Const LB_SELECTSTRING = &H18C

除了列表框之外,这项技巧要求文字框的控制。用户在文字框中进入文段,列表框自动地选择第一个匹配的项目。消息被发送至文字框的变化事实程序中:
Private Sub Text1_Change()

If Text1.Text <> "" Then
SendMessage List1.hwnd, LB_SELECTSTRING, -1, Text1.Text
End If

End Sub

当列表包含许多项目的时候,让用户选择基于比第一个项目多列表框项目是特别地有用的。



责任编辑:李宁

欢迎评论投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134