VB 版 (精华区)

Combo的自动查询技术 

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal 
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) 
As Long

Public Const CB_FINDSTRING = &H14C

Private Sub Combo1_Change()

Dim iStart As Integer

Dim sString As String

Static iLeftOff As Integer


iStart = 1

iStart = Combo1.SelStart


If iLeftOff <> 0 Then

Combo1.SelStart = iLeftOff

iStart = iLeftOff

End If


sString = CStr(Left(Combo1.Text, iStart))

Combo1.ListIndex = SendMessage(Combo1.hwnd, _

B_FINDSTRING, -1, ByVal CStr(Left( _

ombo1.Text, iStart)))
 

If Combo1.ListIndex = -1 Then

iLeftOff = Len(sString)

combo1.Text = sString

End If


Combo1.SelStart = iStart

iLeftOff = 0

End Sub

    静态变量 iLeftOff 指定了字符长度。
 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.620毫秒