由于ComboBox和DateCombo下拉条中有很多选择信息,我想通过输入来获得,然后按回车
如果我输入的内容有在这控件中,按回车后(不想用鼠标点击),控件的.text为我输入的内容
怎么处理,谢谢

解决方案 »

  1.   

    If KeyCode = 13 Then
        Combo1.AddItem Text1.Text
    End If
      

  2.   

    bas中:Option ExplicitDeclare 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, CB_FINDSTRING, -1, ByVal CStr(Left(Combo1.Text, iStart)))
         
        If Combo1.ListIndex = -1 Then
            iLeftOff = Len(sString)
            Combo1.Text = sString
        End If
        Combo1.SelStart = iStart
        iLeftOff = 0
    End Sub以上可实现在combo中输入时自动匹配其内容,然后你再在Combo1_Keypress事件中加入keyascii=13这个事件的处理即可。