如何在VB6中实现“在textbox输入值,下面列表框中的值自动选择”

skycobra 2004-03-22 01:29:59
就类似于帮助中,在一个textbox中输入冬冬,它下面有一个列表框,随着你输入东东的变化,自动选择显示!
...全文
321 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-03-23
  • 打赏
  • 举报
回复
直流只用一个COMBOBOX就够了:

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
Private Sub Combo1_Change()
Dim iStart As Integer
Dim sString As String
Static iLeftOff As Integer

iStart = 1
iStart = Combo1.SelStart

If iLeftOff <> 0 Then Combo1.SelStart = iLeftOff: iStart = iLeftOff

sString = CStr(Left(Combo1.Text, iStart))
Combo1.ListIndex = SendMessage(Combo1.hwnd, &H14C, -1, ByVal CStr(Left(Combo1.Text, iStart)))

If Combo1.ListIndex = -1 Then iLeftOff = Len(sString): Combo1.Text = sString
If Combo1.Text <> "" Then SendMessage Combo1.hwnd, &H14F, True, 0

Combo1.SelStart = iStart
Combo1.SelLength = 0
iLeftOff = 0

End Sub
Private Sub Form_Load()
Dim i As Long
For i = 1 To 500
Randomize
Combo1.AddItem Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97)
Next
Combo1.Text = ""
End Sub
flc 2004-03-23
  • 打赏
  • 举报
回复
xuexi学习
My97 2004-03-22
  • 打赏
  • 举报
回复
需要两个空间 combo1 text1

注意:只读属性 combo1.Style 值 要改为 2

代码如下:

Private Sub Form_Load()
'初始化combo1里的菜单项 测试时候用
Combo1.AddItem "11"
Combo1.AddItem "22"
Combo1.AddItem "33"
Combo1.AddItem "44"
Combo1.AddItem "55"
combo1.
End Sub

Private Sub Text1_Change()
On Error Resume Next '忽略错误,不能少
Combo1.Text = Text1.Text
End Sub

这个方法实现起来 比 timer控件 方便的多
shortppsy 2004-03-22
  • 打赏
  • 举报
回复
timer控件中加入列表框的选择内容
一旦text有新的东西,就自动加上
zxfox 2004-03-22
  • 打赏
  • 举报
回复
那是textbox的change事件,里写入查询语句不会成啦。

7,763

社区成员

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

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