SendMessage的后两个参数是什么?

解决方案 »

  1.   

    LRESULT SendMessage(
      HWND hWnd,      // handle of destination window
      UINT Msg,       // message to send
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    );
      

  2.   

    你一定指WPARAM和LPARAM吧,它们是你消息中带的参数,比如你要随着消息发过去一个结构、数据什么的,可以将它们的指针通过这两个参数传过去,一般用一个也就行了,在消息处理函数中处理
      

  3.   

    这两个参数是 Windows API 中常见的,发送消息一般除了消息类型肯定还要有一些参数,例如 WM_SIZE 消息需要有当前的窗口尺寸,WM_MOUSEMOVE 要有鼠标的相关信息,这两个辅助参数就是提供给类似这样的应用。最常见的是在自定义消息里用 WPARAM, LPARAM 传递一些指针,例如资源浏览器,左边的树形控件在项目被选择的时候发送一个消息给右边的列表控件,就必须告知被选中项目的信息,例如生成一个结构 LPETITEMINFO lpItemInfo, 然后发送
    SendMessage( hWnd, WM_USERDEF, ( WPARAM )lpItemInfo, NULL);
    接收方在相应的取回
    OnUserDef( WPARAM wParam, LPARAM lParam )
    {
    lpItemInfo = ( lpItemInfo ) wParam;
    }