本帖最后由 lxq19851204 于 2010-09-06 15:36:37 编辑

解决方案 »

  1.   

    Private Sub CmbEmployeeNumber_Change()
        ComboBox_DropDown CmbEmployeeNumber.hWnd
    end sub
    这和查找有什么关系?
      

  2.   


    txtStatus.Text = txtStatus.Text & sMsg & vbCrLf: DoEvents
    txtStatus.SelStart = Len(txtStatus.Text): SendMessage txtStatus.hWnd, WM_VSCROLL, SB_BOTTOM, 0这种呢?
      

  3.   

    要用下列参数的一种吧
    Private Const CB_FINDSTRING = &H14C
    Private Const CB_FINDSTRINGEXACT = &H158
    百度这两个参数应该有文章
      

  4.   

    猜测你的意图(另外搞一个 TextBox 来利用 Change 事件):增量查询Private Declare Function SendMessagebyString Lib _
    "user32" Alias "SendMessageA" (ByVal hWND As Long, _
    ByVal wMsg As Long, ByVal wParam As Long, _
    ByVal lParam As String) As LongPrivate Const CB_FINDSTRING = &H14C         '在 ComboBox 中模糊查找Private Sub Text1_Change()
    Dim n As Longn = SendMessagebyString(CmbEmployeeNumber.hWnd, CB_FINDSTRING, -1, Trim(Text1.Text))If n >= 0 Then CmbEmployeeNumber.ListIndex = n
    End Sub如果要在 CmbEmployeeNumber 的文本框中输入,就必须利用 Timer。否则,每增加一个字符,匹配的列表项都将覆盖组合文本框。