Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const CB_FINDSTRING = &H14C
Const CB_ERR = (-1)Private Sub Combo1_KeyPress(KeyAscii As Integer)
Dim Temp As Long
Dim MyStr As String
If Combo1.SelLength = 0 Then
'如果选择的字符为零,将列标框中的文本与键入的字符相组合
MyStr = Combo1.Text & Chr(KeyAscii)
Else '如果选择的字符数不为零
MyStr = Left(Combo1.Text, Combo1.SelStart) & Chr(KeyAscii)
End If
'在列表框控件中查找与变量MyStr相匹配的字符串。
'如果找到,则返回值为第一个匹配的字符串的索引值。如果未找到,则返回值为-1
Temp = SendMessage(Combo1.hwnd, CB_FINDSTRING, True, ByVal MyStr)
If Temp <> CB_ERR Then '如果找到
Combo1.ListIndex = Temp '将找到的项目添加到编辑部分
Combo1.SelStart = Len(Combo1.Text) '将光标设置在文本尾部
End If
KeyAscii = 0
End SubPrivate Sub Form_Load()
'向类标框中添加项目
Combo1.AddItem "美式炸鸡": Combo1.AddItem "中国饺子": Combo1.AddItem "冰淇淋"
Combo1.AddItem "春卷": Combo1.AddItem "陕西凉皮": Combo1.AddItem "麻辣火锅"
Combo1.AddItem "四川麻辣烫": Combo1.AddItem "东北饺子王": Combo1.AddItem "香格里拉"
Combo1.AddItem "K F C": Combo1.Text = ""
End Sub目的是实现查询功能
MyStr = Combo1.Text & Chr(KeyAscii)
这句话我不明白,尤其是CHR(KEYASCII)
Const CB_FINDSTRING = &H14C
Const CB_ERR = (-1)Private Sub Combo1_KeyPress(KeyAscii As Integer)
Dim Temp As Long
Dim MyStr As String
If Combo1.SelLength = 0 Then
'如果选择的字符为零,将列标框中的文本与键入的字符相组合
MyStr = Combo1.Text & Chr(KeyAscii)
Else '如果选择的字符数不为零
MyStr = Left(Combo1.Text, Combo1.SelStart) & Chr(KeyAscii)
End If
'在列表框控件中查找与变量MyStr相匹配的字符串。
'如果找到,则返回值为第一个匹配的字符串的索引值。如果未找到,则返回值为-1
Temp = SendMessage(Combo1.hwnd, CB_FINDSTRING, True, ByVal MyStr)
If Temp <> CB_ERR Then '如果找到
Combo1.ListIndex = Temp '将找到的项目添加到编辑部分
Combo1.SelStart = Len(Combo1.Text) '将光标设置在文本尾部
End If
KeyAscii = 0
End SubPrivate Sub Form_Load()
'向类标框中添加项目
Combo1.AddItem "美式炸鸡": Combo1.AddItem "中国饺子": Combo1.AddItem "冰淇淋"
Combo1.AddItem "春卷": Combo1.AddItem "陕西凉皮": Combo1.AddItem "麻辣火锅"
Combo1.AddItem "四川麻辣烫": Combo1.AddItem "东北饺子王": Combo1.AddItem "香格里拉"
Combo1.AddItem "K F C": Combo1.Text = ""
End Sub目的是实现查询功能
MyStr = Combo1.Text & Chr(KeyAscii)
这句话我不明白,尤其是CHR(KEYASCII)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货