在OnNotify中,返回TRUE或设置* pResult = TRUE有什么区别

时间:2013-04-01 14:59:40

标签: c++ mfc win32com

给出通知处理程序

BOOL CMyWindow::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
   .......

如果我处理特定通知。我应该返回TRUE还是设置* pResult = TRUE?

这是多年来一直困扰我的事情。

1 个答案:

答案 0 :(得分:6)

他们是完全不同的东西:

  • 返回值BOOL表示您是否处理了该消息。如果处理它则为非零,否则为零。这决定了是否调用DefWindowProc
  • 并且pResult用于将信息发送回与此特定通知相关的呼叫者。具体的信息取决于正在处理的通知,由NMHDR传递的lParam结构指定。