怎么用sendmessage()发送两个值
要用sendmessage(HWND,UINT,WPARAM,LPARAM)发送两个变量值,比如X和Y,X=1,Y=1用怎么做呢?在网上找了些例子但都是关于按钮的,但我要...
要用sendmessage(HWND,UINT,WPARAM,LPARAM)发送两个变量值,比如X和Y, X=1,Y=1
用怎么做呢?
在网上找了些例子 但都是关于按钮的, 但我要发送的和按钮坐标没关系.. 就是单纯的两个值而已, 望大家指教!
而且, 在接收到消息的那一端,要怎么拆分别得到X和Y的值? 谢谢
LOWORD(lparam)和HIWORD(lparam)是传达按钮坐标信息的时候用的吧?
曾尝试让WPARAM带X值,LPARAM带Y值, 编译的时候出现错误, WPARAM的定义不符.. 展开
用怎么做呢?
在网上找了些例子 但都是关于按钮的, 但我要发送的和按钮坐标没关系.. 就是单纯的两个值而已, 望大家指教!
而且, 在接收到消息的那一端,要怎么拆分别得到X和Y的值? 谢谢
LOWORD(lparam)和HIWORD(lparam)是传达按钮坐标信息的时候用的吧?
曾尝试让WPARAM带X值,LPARAM带Y值, 编译的时候出现错误, WPARAM的定义不符.. 展开
3个回答
展开全部
看这个函数的原型:
第1个参数:HWND,表示你要发送消息的窗口句柄,用FindWindow或者FindowWindowEx就可以获取了,这个容易.
第2个参数:UINT,表示消息ID,有很多消息的类型,这个就要参考MSDN了,比如WM_CREATE,WM_COPYDATA等等
第3个和第4个我们可以理解成:你要发送这个消息的附加参数.
比如吧,你现在要发送2个数值到hWnd去,这个消息是WM_SETTEXT(为了方便处理,我们在发送这个消息,你发送数据可以参考WM_COPYDATA等),2个数字是:100,200的话:
SendMessage(hWnd, WM_SETTEXT, 100, 200);
然后在你的hWnd窗口的消息处理(处理WM_SETTEXT)下:
int nValue1 = int(wParam);
int nValue2 = int(lParam);
就OK了~~
第1个参数:HWND,表示你要发送消息的窗口句柄,用FindWindow或者FindowWindowEx就可以获取了,这个容易.
第2个参数:UINT,表示消息ID,有很多消息的类型,这个就要参考MSDN了,比如WM_CREATE,WM_COPYDATA等等
第3个和第4个我们可以理解成:你要发送这个消息的附加参数.
比如吧,你现在要发送2个数值到hWnd去,这个消息是WM_SETTEXT(为了方便处理,我们在发送这个消息,你发送数据可以参考WM_COPYDATA等),2个数字是:100,200的话:
SendMessage(hWnd, WM_SETTEXT, 100, 200);
然后在你的hWnd窗口的消息处理(处理WM_SETTEXT)下:
int nValue1 = int(wParam);
int nValue2 = int(lParam);
就OK了~~
展开全部
SendMessage中的两个参数WPARAM,LPARAM就可以分别带一个值。
但是坐标一般用lParam传递,LOWORD(lparam) 表示x,HIWORD(lparam)表示y。
具体请参考我的笔记:
http://hi.baidu.com/luosiyong/blog/item/484dad8f182d8efc503d9273.html
但是坐标一般用lParam传递,LOWORD(lparam) 表示x,HIWORD(lparam)表示y。
具体请参考我的笔记:
http://hi.baidu.com/luosiyong/blog/item/484dad8f182d8efc503d9273.html
参考资料: http://hi.baidu.com/luosiyong/blog/item/484dad8f182d8efc503d9273.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以有N种方法,看具体情况了|||
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询