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

Joe*_*ing 4 c++ mfc win32com

给出通知处理程序

BOOL CMyWindow::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
   .......
Run Code Online (Sandbox Code Playgroud)

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

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

Dav*_*nan 6

他们是完全不同的东西:

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