ListView的问题!谢谢解答!

gang75vb 2003-06-23 07:49:47
如果ListView在(viwe=lvwreport)有很多项的时候,怎样控制ListView自动滚动,
就象ListBox.TopIndex=5一样的。

...全文
43 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
VertyNew 2003-06-23
  • 打赏
  • 举报
回复
先在窗体上加一个Timer控件


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 WM_KEYUP = &H101
Const WM_KEYDOWN = &H100

Private Sub Form_Load()
Dim i As Integer
For i = 1 To 100
ListView1.ListItems.Add , , Rnd
Next
End Sub

Private Sub Timer1_Timer()
SendMessage ListView1.hwnd, WM_KEYDOWN, &H28, &H0
SendMessage ListView1.hwnd, WM_KEYUP, &H28, &H0 '这句可以不加
End Sub

我试过了,完全没问题。
gang75vb 2003-06-23
  • 打赏
  • 举报
回复
我对API不是很熟悉,请给个代码吧,谢谢!
VertyNew 2003-06-23
  • 打赏
  • 举报
回复
那你只好用SendMessage向ListView发KeyDown事件(向下键)下解决这个问题了
pigsanddogs 2003-06-23
  • 打赏
  • 举报
回复
gz
gang75vb 2003-06-23
  • 打赏
  • 举报
回复
MultSelect是False的
VertyNew 2003-06-23
  • 打赏
  • 举报
回复
你把LisVw的MultSelect设为False试试
gang75vb 2003-06-23
  • 打赏
  • 举报
回复
我用过啊!还是不行
LisVw.ListItems(21).Selected = True

奇怪啊!她就是不滚动

关键SelectItem.Index是只读的,要不然就可以的
szj820 2003-06-23
  • 打赏
  • 举报
回复
楼上的方法不错
VertyNew 2003-06-23
  • 打赏
  • 举报
回复
ListView1.ListItems(i).Selected = True
gang75vb 2003-06-23
  • 打赏
  • 举报
回复
怎样的语法! SelectItem.Index是只读的
VertyNew 2003-06-23
  • 打赏
  • 举报
回复
试一下不断改变它的SelectedItem来达到滚动的效果

7,763

社区成员

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

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