MFC 中SendMessage有三个参数,Win API 有四个,MFC 中没有了 HWND 参数,怎样在 VC 中直接调用 API?不用MFC;如果用 MFC,怎样传 HWND?

解决方案 »

  1.   

    CWnd *pWnd;
    pWnd->SendMessage(WM_xxx, WPARAM, LPARAM);::SendMessage(HWND, WPARAM, LPARAM);
    ============================================================================
    http://www.betajin.com/alphasun/index.htm
    DocWizard C++程序文档自动生成工具 | Wave OpenGL 水波与动模拟和显示
      

  2.   

    MFC 中SendMessage有三个参数,Win API 有四个,MFC 中没有了 HWND 参数,怎样在 VC 中直接调用 API?不用MFC;如果用 MFC,怎样传 HWND?Win Api 中SendMessage
    LRESULT SendMessage(
      HWND hWnd,      // handle of destination window
      UINT Msg,       // message to send
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    );
    hWnd是目标窗口的句柄,也就是接收消息的窗口,也就是我们消息发送的目标,API是孤立的,所以我们调用这个函数的时候必须指定接收消息的目标窗口。而你所说MFC中的SendMessage其实是CWnd类的一个方法,
    CWnd::SendMessage
    LRESULT SendMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );
    因为是该类的成员函数,所以消息的目标窗口就是本身,不用用去指定了。在任何地方(你所说的MFC和SDK中)你都可以::SendMessage(HWND,Msg, WPARAM, LPARAM);去调用API