求助关于ListBox 问题 如何用SendMessage 选中一项

3q2008Com 2005-10-26 01:15:04
ListBox 控件里的 内容很长

比如 "ttee" 在最下边 我如何才能在ListBox里 叫 ttee处于选中状态 并且移动到上边呢>
...全文
327 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
3q2008Com 2005-10-26
  • 打赏
  • 举报
回复
谢谢 十分 感谢
winehero 2005-10-26
  • 打赏
  • 举报
回复
你是怎么知道的
————————————————————
MSDN中搜List Box Messages吧

你怎么知道 用LB_SETEL这些东西呢????
——————————————————————————————
VB插件里有个API Viewer,打开载入WIN32API.TXT后,API Type框中选择Constants后,键入
LB_... ,出来一堆让你选,选择后复制到VB IDE中就行了。
3q2008Com 2005-10-26
  • 打赏
  • 举报
回复
非常感谢你

但 想知道一下
Private Const LB_FINDSTRING = &H18F
Private Const LB_SETSEL = &H185 '用于单选ListBox
Private Const LB_SETTOPINDEX = &H197
Private Const LB_SETCURSEL = &H186 '用于多选ListBox

你是怎么知道的 你怎么知道 用LB_SETEL这些东西呢????

虚心求教////.....谢谢了先
winehero 2005-10-26
  • 打赏
  • 举报
回复

Option Explicit
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 Const LB_FINDSTRING = &H18F
Private Const LB_SETSEL = &H185 '用于单选ListBox
Private Const LB_SETTOPINDEX = &H197
Private Const LB_SETCURSEL = &H186 '用于多选ListBox

Private Sub Command1_Click()
Dim nIndex As Long
nIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal "ttee")
If nIndex < 0 Then Exit Sub

SendMessage List1.hwnd, LB_SETCURSEL, nIndex, 0 '再此以单选ListBox为例
SendMessage List1.hwnd, LB_SETTOPINDEX, nIndex, 0

End Sub

Private Sub Form_Load()
List1.AddItem "a1"
List1.AddItem "a2"
List1.AddItem "a3"
List1.AddItem "a4"
List1.AddItem "a5"
List1.AddItem "a6"
List1.AddItem "a7"
List1.AddItem "a8"
List1.AddItem "ttee"
List1.AddItem "a9"
End Sub
3q2008Com 2005-10-26
  • 打赏
  • 举报
回复
需要 我 5个三角我也不知道怎么回事 就出三角了
先谢谢了
:)
winehero 2005-10-26
  • 打赏
  • 举报
回复
使用到如下三个ListBOx Message:
LB_FINDSTRING
LB_SETSEL
LB_SETTOPINDEX
先用LB_FINDSTRING找到"ttee"索引,再用LB_SETSEL选中,再用LB_SETTOPINDEX移到顶端。
看你五角,还需要我写代码吗?
3q2008Com 2005-10-26
  • 打赏
  • 举报
回复
哥哥 没看到我的题目吗?

如何用SendMessage 选中一项

winehero 2005-10-26
  • 打赏
  • 举报
回复
'使用topindex如下:

public setitemfocus(byval i as integer) 'i为你要设的索引
List1.listindex=i
List1.TopIndex = i
end function

1,486

社区成员

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

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