高分求教,能者请进……关于领导、IE和Combobox

seuying 2003-02-25 08:52:29
最近在做一个小小小小的MIS系统,遇到一个问题啊。就是vb的combobox里面,选项很多,我们领导想实现象IE的输入框那样的效果,就是在下拉矿里随便输入一个字或者词语,就能智能的把相同或者相似的选项找出来,而把不同的选项屏蔽调,而且,在输入时候,下拉框要显示出来,就像IE一模一样:(((((。这样,便于选择,也不会出错。现在问题是,小的水平不行,而且,选项是从数据库里读出来的。该怎么做呢,各位大虾救救…………………………………………当学雷锋吧,况且,这个雷锋也不是白学的,有高分相赠哦:)
...全文
143 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-02-25
  • 打赏
  • 举报
回复
没有调试,你试试:

Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const CB_SHOWDROPDOWN = &H14F

Private Sub Combo1_Change()
showlist Combo1, Combo1.Text
'showlist Combo1,left(Combo1.Text,4)
End Sub
Sub showlist(ByVal comb As ComboBox, ByVal x As String)
comb.Clear
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim sql As String
cnn.Open "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=e:\xxxx.mdb"
rst.Open "select distinct fieldx frm table1 where fieldx like '" & x & "%'", cnn, adOpenKeyset, adLockOptimistic
rst.MoveFirst
Do While Not rst.EOF
comb.AddItem rst.Fields("fieldx").Value
rst.MoveNext
Loop
Set rst = Nothing
Set cnn = Nothing
SendMessageLong comb.hwnd, CB_SHOWDROPDOWN, True, 0
End Sub

Private Sub Combo1_Click()
SendMessageLong comb.hwnd, CB_SHOWDROPDOWN, False, 0
End Sub
mixway 2003-02-25
  • 打赏
  • 举报
回复
建议用TextBox+ListBox,在TextBox的change事件中完成添加list的问题。
注意:要注意TextBox的SelText
绿洲 2003-02-25
  • 打赏
  • 举报
回复
你在他输入信息的过程中,实施的匹配已经存在的字串。如果发现前n个字符相同,酒吧后面的填进去。然后设置selection的开始、结束位置。不过在Text框内肯定能用,不知道Combobox有没有selection属性。。。

实现起来不难的。
seuying 2003-02-25
  • 打赏
  • 举报
回复
为什么无人能回答啊,up一下也可以啊:((((

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧