WM_MOUSEMOVE -打包x和y位置
WM_MOUSEMOVE - packing x and y positions
我使用一个粗略的系统来控制一个Flash电影从c++/win32程序通过发送WM_MOUSEMOVE事件直接到Flash窗口。
对于一个轴来说效果很好:
SendMessage( m_targetWindowHWND, WM_MOUSEMOVE, 0, xpos);
然而,我现在想发送x和y值。我知道这些都被打包到WM_MOUSEMOVEs参数中。在c++中,可以使用MAKEPOINTS或GET_X_LPARAM/GET_Y_LPARAM来解压缩。
但是我如何打包x和y呢,基本上是做与上面的宏相反的事情。
我的猜测:
DWORD packed = y << 8 + x;
谢谢
您要查找的宏是MAKELPARAM
:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632661 (v = vs.85) . aspx
LPARAM WINAPI MAKELPARAM(
WORD wLow,
WORD wHigh
);
我相信它相当于MAKELONG
(同样的事情,但返回DWORD
),但又一次…也许在某个平台上,LPARAM和DWORD的定义是不同的。: -/
EDIT:显然LPARAM(和WPARAM!)现在都在底层定义为您的平台上指针的大小。"L"(长)和"W"(单词)是历史的:LPARAM和WPARAM的定义是什么?
使用Microsoft提供的宏:
MAKELPARAM(x, y)
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 如何使用cudaMallocManaged在指针位置初始化对象?(C++)
- 无法获取webot::PositionSensor对象中位置传感器的值
- 非常量变量只读位置的赋值
- 如何定义更改car类中car位置的方法
- 使用迭代器时如何访问对象在向量中的位置?
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 求最大元素位置的分治算法
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 如何将元素添加到向量的字符串位置
- 如何选择在 csv 文件中输出的位置
- 无法打开 fstream C++文件,即使它与 .cpp 位于同一位置
- 如何在特定位置追加 json 文件
- WM_MOUSEMOVE -打包x和y位置