以前一直都是用vb控件的方法事件进行编程,现在有个程序需要用listview+textbox 对双击内容进行编辑,有人建议我用api 消息机制,对此我一窍不通,比如
SendMessage(ListView1.hwnd, LVM_SUBITEMHITTEST, ByVal 0&, lpInfo)语句是什么意思
结合前面定义的
Private Const LVM_FIRST As Long = &H1000
Private Const LVM_HITTEST As Long = (LVM_FIRST + 18)
Private Const LVM_SUBITEMHITTEST As Long = (LVM_FIRST + 57)
是什么意思,&H1000等值是什么意思,是固定的吗?
那里可以查询到相关的消息
另外象我这样有过vb编程经历但是没有api编程经验的人,有哪些vb api参考书好看?
问题多多,请大家帮忙
多谢多谢

解决方案 »

  1.   

    可以下载叶帆的API浏览器查看。叶帆专栏就有。
      

  2.   

    MSDN 中有详细帮助,用 LVM_SUBITEMHITTEST 搜索又:Windows Common Control 6.0 的 ListView 直接有 HitTest 方法,用 API 不嫌麻烦?
      

  3.   

    WINDOWS是基于消息机制的。LINUX基于信号量机制的
      

  4.   

    请在google中搜寻SendMessage,保证可以得到你想要的.
      

  5.   

    好不容易打了一大堆字,结果出来一句:“Service Unavailable”
      

  6.   

    API是应"用程序接口"的意思,是操作系统给(我们)应用程序的"标准"操作。
    就像乘火车时搬行李找"红帽子",欢卧铺找"列车员",补票找"列车长" 等等。
    所以我们的程序要操作计算机里的软硬件,找 API 算是找对了"人"。  但用 API 的麻烦之一是API 函数太多,可以说是应有尽有。本来这是好事,
    但却难煞了我等初入门的汉子。所以要了解比尔盖茨给了我们那些 API 函数
    只能去找一本书,正如楼上所言。  API 的另一个麻烦是参数中用到的常数太多尤其是各类消息。所以微软(到
    底是不是它也不知道)建议我们用一些符号常量来代替这些常数。例如:
      Const LVM_FIRST As Long = &H1000,就是告诉机器(编译器):“以下我将
    用LVM_FIRST 这个可以"顾名思义"的拼接单词代替 &H1000 这个16进制常数”
      
      API 还有一个麻烦就是在VB中运用需要预先申明(这也应该,现成地函数用
    微软工程师给你编的标准函数,申明总该要了吧),却申明很罗嗦,极易出错。
    为此微软又送我们一个小工具:APIView,你只要到“外界程序->外界程序管
    理器”中找它。有了它你就不怕写错申明语句了。
      

  7.   

    不要去详细记那些难记的api,只要知道个大概就可以了,用的时候同楼上各位所说的去找就可以了。
      

  8.   

    那 Const LVM_FIRST As Long = &H1000 为什么把LVM_FIRST定义为&H1000,这个值由什么特殊含义?
      

  9.   

    没有什么意义,是定义这个消息函数的大师指派的。
    他那天为"listview"这个控件(对象)编排消息类型时,前面用掉了不少编号,
    刚好将近 &H1000=4096 个,就决定凡对于"listview"的消息从这里开始编号:)
    以后的可以根据含义也用"LVM_FIRST"之类的符号代替,也可以它为基准价上
    偏移(例如:+1、+3、+5等)值代替。
      

  10.   

    很形象啊... 呵呵VB如果把API使精了,也是暴强的!!!
      

  11.   

    //那 Const LVM_FIRST As Long = &H1000 为什么把LVM_FIRST定义为&H1000,这个值由什么特殊含义?
    &H1000是消息值,LVM_FIRST只是为了便于记忆而给它起的名字。你也可以Const TMD As Long = &H1000,当你用到TMD的时候,程序知道你要发送的是&H1000这个值。Const 不要  = 5
    FUNCTION 给钱(几块) AS LONG
      GIVE U 几块 MONEY
    END FUNCTION调用的时候,给钱(5),它给你5块,给钱(不要),仍然给你5块。因为传递的是值,而不是那个字符串。
      

  12.   

    API一开始是比较难学的。
    入门之后就好
    关于VB里的API网上有 很多资源,MSDN里也有。建议你先在网上了解一写API的基本知识(比如说句柄、场景)之后在去做你的那个程序。API你也不用刻意的去学,用用到的时候在去查找相关的资料也行的。上面是我的一点不成熟的建议 :)
      

  13.   

    APIVIEW2004链接地址(感觉和vb6自带的差不多...只是多了那么几个解释的,要是全部都有那可好了):
    http://www.apiviewer.de/downloadsstore/apv2004_v310.exe