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

标签 c++ mfc win32com

给定一个通知处理程序

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

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

这是困扰我多年的问题。

最佳答案

它们是完全不同的东西:

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

关于c++ - 在 OnNotify 中,返回 TRUE 或设置 *pResult = TRUE 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745836/

相关文章:

c++ - 如何为我的图形提供 vertex_index 属性

c++ - CFileDialog (MFC) 异常

python - 将范围指定为仅选择填充单元格/以空单元格结尾 Python

python - 通过已注册的 TLB 从 python 访问未注册的 COM 对象

python - 对单元格范围进行排序,win32com.client

C++ 将键映射到对象

c++ - 如何在 native 桌面 Windows 应用程序中使用 Direct2D 呈现子窗口?

c++ - 将指向成员函数参数的指针传递给模板参数

c++ - 访问线程内的主对话框变量 (MFC)

c++ - 在 MFC 按钮的文本上方制作图标