发送WM_NCMOUSEMOVE和WM_SETCURSOR消息。如何填写参数?

时间:2015-05-15 11:40:37

标签: c++ winapi

我需要发送上述消息。文档说:

  

WM_NCMOUSEMOVE。 lParam的。包含x-和。的点结构   光标的y坐标。

如何从此结构创建lParam?

  

WM_SETCURSOR。 wParam中。包含光标的窗口句柄。

我该如何通过?

  

WM_SETCURSOR。 lParam的。 lParam的高阶词指定了   鼠标消息的标识符。

这个标识符是什么?

1 个答案:

答案 0 :(得分:0)

您可以将LPARAM和WPARAM视为数值数据类型。

您可以使用MAKELPARAM和MAKEWPARAM宏来创建自己的LPARAM和WPARAM,然后传递它们。

这里有关于它们的细节: MAKELAPARM:https://msdn.microsoft.com/en-us/library/ms632661(v=vs.85).aspx MAKEWPARAM:https://msdn.microsoft.com/en-us/library/ms632664(v=vs.85).aspx

因此,只需传递适当的值,它就会返回LPARAM。 但是当文档说:wParam。包含光标的窗口句柄。然后你可以简单地创建一个像这样的lparam: LPARAM lparam = m_hWnd; //其中m_hWnd是窗口的句柄。

否则你可以指定宏的高和低,它将为你创建LPARAM和WPARAM。 要将POINTS作为LPARAM传递,只需执行以下操作:

POINTS pt;
pt.x = pt.y = 120;
LPARAM lparam = &pt;