我们都知道sendmessage的用法是sendmessage(hwnd,msg,wparam,lparam)
但我现在要发送一个“LVM_SETICONSPACING”的消息,查了一下msdn,发现
LVM_SETICONSPACING
    wParam = 0;
    lParam = (LPARAM) MAKELONG(cx, cy);
其中的lParam = (LPARAM) MAKELONG(cx, cy)有两个参数,cx和cy,那么用sendmessage应该怎样用呢?(即应该怎样编写呢?)
是不是SendMessage(Hwnd,LVM_SETICONSPACING,0,makelong(cx,cy)),不过在vb里好象没有makelong这样的函数啊?谁能帮帮我啊!

解决方案 »

  1.   

    你打算发送哪一种消息啊?
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    后两个参数是和消息种类相关的
      

  2.   

    我是想问,后两个参数应该怎样表达出来呢?
    是不是SendMessage(Hwnd,LVM_SETICONSPACING,0,makelong(cx,cy))
    还是SendMessage(Hwnd,LVM_SETICONSPACING,0,cx,cy)
    还是说需要辅助的函数啊?我是菜鸟,帮帮忙。
      

  3.   

    Const LVM_FIRST = &H1000
    Const LVM_SETWORKAREA = LVM_FIRST + 65
    Const LVM_SETICONSPACING = LVM_FIRST + 53
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
            (ByVal hwnd As Long, ByVal wMsg As Long, _
            ByVal wParam As Long, lParam As Any) As LongSendMessage(对象.hwnd, LVM_SETICONSPACING, 0, ByVal (60 * 65536 + 120&))
    将图标的纵向间距定义为60像素,横向间距定义为120像素。