如题。
我用了网上流传的老妖写的函数,没有取出内容,也用了其他的代码(连接地址:http://www.ccrun.com/article.asp?i=583&d=eahk4z)转成Delphi测试,还是取不出来,比较郁闷,不知道原因在哪里。
看到链接文章最后有一句话:“如果其ViewStyle为vsReport,就要考虑读取ListView的HeadItem了。”我不知道是什么意思,如果是vsreport该如何取出内容?
我要取的是飞狐交易师里面的数据列表(很多股票列在一起的那个),控件类型SysListView32,ViewStyle属性为LVSReport。目前可以取出行数、列数(通过标题的列数取),按理说,应该没有屏蔽取内容的消息,那就是代码的问题了。
有高手做过这方面的研究嘛?C++的也可以,一般的代码我看得懂。多谢了。
(注:老妖的版本已经试过不管用了,请帮忙找其他的)

解决方案 »

  1.   

    多谢楼上。
    我发现我遇到的这个问题,好像很少人遇到啊。
    用Spy4win取内容也取不到,是不是飞狐做了屏蔽处理?
      

  2.   

    是不是他们的数据是自己draw上去的,而不是用windows API把数据添加上去的
      

  3.   

    他们具体怎么实现的我不是很了解。因为本身Windows编程做的比较少。
    不过可以通过SendMessage取出有多少行、多少列,我想内容也应该可以取出来吧。
    刚刚到其他地方找了一下,有朋友实现了读取飞狐预警窗口的内容。类也是SysListview32。看来是可以读取的,正在研究他的那段代码,跟我的有点区别。
      

  4.   

    各位大佬不用忙活了。经测试,我要读取的这个Syslistview32经过处理(也许就像楼上多来米说的是自己draw上去的),我用这段代码去读取预警窗口中的数据就可以读到,说明代码没问题。
      

  5.   

    首先要确认那个窗口是真正的ListView
    你用Spy4Win可以读取到该窗口的内容吗?
      

  6.   

    呀,在这里也能看到ccrun大大呢。我在你的论坛上也发了贴。
    哈哈。
    情况是这样的:
    用Spy4win,可以看到类是Syslistview32,微软的控件。但是用Spy4win读不到内容。
    我用我写的函数也读不到内容,只能读出有几行几列。
    但是这个函数,在同一个程序(飞狐交易师,我本来是想取股票列表中的行情数据)的另外一个Syslistview32(预警窗口)中可以读取到数据。
      

  7.   

    这样的话,有可能是使用了ListView的OwnerDraw,也就是说ListView显示的数据是通过代码中绘制的,这样在显示大容量数据或更新频繁时,速度比较快. 这样用ListView相关的API就读取不到数据了.