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