为何SendMessage(hWindow, LVM_GETITEMCOUNT, 0, 0)返回为0无效?来者有分,送完为止。

3gw 2010-05-23 10:14:21
为何SendMessage(hWindow, LVM_GETITEMCOUNT, 0, 0)返回为0无效?

有些外部程序又可以成功返回行数,有些外部程序却不行,为何?

用SPY++查,发现类为ListCtrl的就不行?类为SysListView32却可以成功返回行数。

来者有分,送完为止。多谢各位了!!!
...全文
1006 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangli820 2010-06-11
  • 打赏
  • 举报
回复
加我QQ 1104785743吧,我能搞定
3gw 2010-06-09
  • 打赏
  • 举报
回复
最后一顶。。。。
3gw 2010-06-02
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100528/19/319ed2b8-6ff7-48b2-80e1-37843a84eaff.html
求解!如何获取ListCtrl中的内容?100元手机充值卡以示感谢!

实例
http://202.109.110.121/simsoft/q7.rar
用户名:123456
密码:123456

获取它的持仓栏控件中的内容即可。(用SPY++发现是ListCtrl类名)
3gw 2010-05-28
  • 打赏
  • 举报
回复
再顶一顶。。。。
Gordon_Freeman 2010-05-25
  • 打赏
  • 举报
回复
与楼主共同学习,友情顶起~
huhufu 2010-05-25
  • 打赏
  • 举报
回复
------------顶起
mmsunni 2010-05-24
  • 打赏
  • 举报
回复
友情Up............
lxq19851204 2010-05-24
  • 打赏
  • 举报
回复
帮你顶……
myy168 2010-05-24
  • 打赏
  • 举报
回复
顶起...
PctGL 2010-05-23
  • 打赏
  • 举报
回复
不同的控件要用不同的消息,lvm_ 是专为 sysListView32 控件使用的消息

你说的 listctrl 好像是 mfc的 list 控件, 试试 LB_GETCOUNT

SendMessage(hWindow, LB_GETCOUNT, 0, 0)

你用spy 监视下他的消息, 看看都有哪些被解析的消息,比如 LB_* 的,还是 LVM_* 的
还是全部都是未知的

vb 的控件只是对系统控件的超类包装, 并没有什么特殊的, 系统预定义的消息, 对vb的控件同样有效
贝隆 2010-05-23
  • 打赏
  • 举报
回复
UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
chinaboyzyq 2010-05-23
  • 打赏
  • 举报
回复
先帮你顶……
3gw 2010-05-23
  • 打赏
  • 举报
回复
类名ListCtrl

bcrun 2010-05-23
  • 打赏
  • 举报
回复
办法一般是有的,不过楼主说的ListCtrl是什么程序中的呢,分析一下它是怎么实现的呢.应该不是Microsoft Windows Common Controls 6.0 (SP6)中那个ListView,他的SPYXX中看到的窗口类名应是ListView20WndClass
3gw 2010-05-23
  • 打赏
  • 举报
回复
请问有什么好方法获得它的行数,或者能判断它是否为空的(一行都没有)?
threenewbee 2010-05-23
  • 打赏
  • 举报
回复
因为VB6的公共控件是VB自己实现的,不是系统标准的,所以API无效。
时间一粒 2010-05-23
  • 打赏
  • 举报
回复
ding...
舉杯邀明月 2010-05-23
  • 打赏
  • 举报
回复
友情Up............
bcrun 2010-05-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pctgl 的回复:]
不同的控件要用不同的消息,lvm_ 是专为 sysListView32 控件使用的消息

你说的 listctrl 好像是 mfc的 list 控件, 试试 LB_GETCOUNT

SendMessage(hWindow, LB_GETCOUNT, 0, 0)

你用spy 监视下他的消息, 看看都有哪些被解析的消息,比如 LB_* 的,还是 LVM_* 的
还是全部都是未知的
……
[/Quote]

MFC的ListView控件默认也是SysListView32的
SYSSZ 2010-05-23
  • 打赏
  • 举报
回复
Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
Const LVM_FIRST = &H1000
Const LVM_GETITEMCOUNT = LVM_FIRST + 4
Private Sub Command1_Click()
MsgBox SendMessage(ListView1.hwnd, LVM_GETITEMCOUNT, 0&, 0&)
End Sub

Private Sub Form_Load()
ListView1.ColumnHeaders.Add , , "一"
ListView1.View = lvwReport
For i = 1 To 20
ListView1.ListItems.Add , , i
Next
End Sub
加载更多回复(3)

1,486

社区成员

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

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