当列表框拥有定位功能,它就会自动滚动到第一项,以你所输入的字母为开始。然而,它不会在多于第一个字母的情况下,自动选择项目。比如,如果你输入”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 =
&H
除了列表框之外,这项技巧要求文字框的控制。用户在文字框中进入文段,列表框自动地选择第一个匹配的项目。消息被发送至文字框的变化事实程序中:
Private Sub Text1_Change()
If Text1.Text <>
"" Then
SendMessage List1.hwnd, LB_SELECTSTRING, -1, Text1.Text
End If
End Sub
当列表包含许多项目的时候,让用户选择基于比第一个项目多列表框项目是特别地有用的。
责任编辑:李宁
欢迎评论或投稿