+ -
当前位置:首页 → 问答吧 → 关于WM_COMMAND消息的返回值的问题,求高人指点~~~~~~

关于WM_COMMAND消息的返回值的问题,求高人指点~~~~~~

时间:2011-12-27

来源:互联网

我发现调用::SendMessage发送WM_COMMAND的消息,该消息的返回值和MSDN上说的有点不同。

MSDN的说法
Return Value
If an application processes this message, it should return zero.
大致的意思就是如果应用程序处理了消息,将返回0

测试的结果
nState = ::SendMessage(this->m_hWnd, WM_COMMAND, IDC_BTN_TOGETSTAT, (LPARAM)btn_test.m_hWnd);
该条发送出去后,nState的值为1,而这个WM_COMMAND的消息是有被响应的。

求高人指点

作者: ycf8788   发布时间: 2011-12-27

返回值:返回值指定消息处理的结果,依赖于所发送的消息。 
http://baike.baidu.com/view/1080187.htm

作者: oyljerry   发布时间: 2011-12-27

引用 1 楼 oyljerry 的回复:
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
http://baike.baidu.com/view/1080187.htm

这个我明白,所以我才问WM_COMMAND这个消息我查的就是WM_COMMAND这个消息.

作者: ycf8788   发布时间: 2011-12-27

nState = ::SendMessage(this->m_hWnd, WM_COMMAND, IDC_BTN_TOGETSTAT, (LPARAM)btn_test.m_hWnd);
-->
nState = ::SendMessage(this->m_hWnd, WM_COMMAND, MAKEWPARAM(IDC_BTN_TOGETSTAT, BN_CLICKED), (LPARAM)btn_test.m_hWnd);

作者: VisualEleven   发布时间: 2011-12-27

引用 7 楼 visualeleven 的回复:
nState = ::SendMessage(this->m_hWnd, WM_COMMAND, IDC_BTN_TOGETSTAT, (LPARAM)btn_test.m_hWnd);
-->
nState = ::SendMessage(this->m_hWnd, WM_COMMAND, MAKEWPARAM(IDC_BTN_TOGETSTAT, BN_CLICKED), (LPARAM)……


两个都可以实现点击功能,以前用的是下面那种。。后面发现BN_CLICKED可以不填,干脆简化了

作者: ycf8788   发布时间: 2011-12-27