请问各位,我做的一个输入界面中的COMBOX,需要有大量的数据输入,现想要在两种情况下加快输入速度,如何做:
  1、输入一项内容时,输入前几个字,自动出现下拉框,以输入的文字开头的项前在最前面以方便选择。
  2、输入项的内容比较复杂,如何以助记码的形式,来帮助输入。比如:输入车辆的类型时,用K001代表客车类的,当输入K时显示了客车项,而当输入H时代表货车,显示货车项。
  多谢!

解决方案 »

  1.   

    笨办法就是多一个字段来处理你的问题,如koo1的代码就是K,
      

  2.   

    1 引用
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
            (ByVal hwnd As Long, ByVal wMsg As Long, _
            ByVal wParam As Long, lParam As Any) As Long
    然后
    Private Sub Combo1_KeyPress(KeyAscii As Integer)
    Dim sSearchText As String
      Dim lReturn As Long
      Dim aa As String
    '  Dim bb As Long
    '  bb = Combo1.hwnd
      
      If KeyAscii = 13 Then
        Combo1.SelLength = 0
        Combo1.SelStart = Len(Combo1.Text)
         KeyAscii = 0
         
      Else
         sSearchText = Left$(Combo1.Text, Combo1.SelStart) & Chr$(KeyAscii)
         lReturn = SendMessage(Combo1.hwnd, CB_FINDSTRING, -1, ByVal sSearchText)
         
         If lReturn <> CB_ERR Then
            mbIgnoreListClick = True
            Combo1.ListIndex = lReturn
            mbIgnoreListClick = False
            Combo1.Text = Combo1.List(lReturn)
            Combo1.SelStart = Len(sSearchText)
            Combo1.SelLength = Len(Combo1.Text)
            KeyAscii = 0
         End If
      End If
    2 第二个问题,在上面的事件中判断输入字符,自己做判断处理,
      

  3.   

    对,用Sendmessage函数,绝对管用