呵呵,你的想法我们从前做过,给你说说我们的思路吧:我们是这样做的,首先是将Combo控件的键盘事件和点击事件中控制你需要的动作。然后编写一个过程或者函数,在里面编写放入到Combo控件中的值,如果你放入的值是从sqlserver中来的话你最好用ADO控件连接不要用ADO对象连接,这样出问题少些,我们当时做的是在Combo中填写一个英文或者是中文的第一个字母或者汉字,然后在Combo自动下拉与你输入相关的数据,供你选择。难到不难,只是在调试时候有些小小麻烦而已。祝你成功。
调试欢乐多
要用SendMessage API函数发送CB_SHOWDROPDOWN这个消息
至于你说的那个像ie的那个功能,我有一个例程,如何给你?
只是实现了关键部分:比如 如何使combo的下拉部分总在最上面;如何模仿自动匹配等等
要达到那样,只能使用api
加一个文本框Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Const LB_FINDSTRING = &H18FPrivate Sub Text1_Change()
'Retrieve the item's listindex
'List1.listIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Text1.Text))
Dim Search As String, listIndex As Long
Search = Text1.Text
If Len(Search) > 0 Then
listIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal Search)
List1.listIndex = listIndex
Else
List1.listIndex = 0
End IfEnd Sub