【问题标题】:What does uMsg parameter mean in the definition of CALLBACK DialogProc()CALLBACK DialogProc()定义中的uMsg参数是什么意思
【发布时间】:2012-07-16 14:10:57
【问题描述】:

MSDN 链接http://msdn.microsoft.com/en-us/library/windows/desktop/ms645469(v=vs.85).aspx

解释 DialogProc 回调函数

这里我没有看到关于以下签名中的第二个参数(UINT uMsg)的任何解释::

INT_PTR CALLBACK DialogProc(   
  __in  HWND hwndDlg,   
  __in  UINT uMsg,   
  __in  WPARAM wParam,   
  __in  LPARAM lParam   
);   

谁能解释一下这个第二个参数(UINT uMsg)是什么意思。一些详细的解释(为什么我们需要这个 uMsg 参数,它的用途是什么,它是如何使用的等等......)将非常感激。非常感谢。

PS:我是 Callbacj 函数、Win32 API 编程的新手。

【问题讨论】:

  • 您可以发送大量消息。一个普通窗口是WM_LBUTTONDOWN,当用户在你的窗口上按下鼠标左键时发送。

标签: c++ visual-c++ dialog callback modal-dialog


【解决方案1】:

在这种情况下,它是 window message 或更准确地说是对话消息。 normal window procedures中也有类似的参数。

有多种类型的窗口消息,其中许多以 WM_ 或其他不同前缀开头,具体取决于窗口类(此处的类不是 OOP 意义上的,而是 Win32 意义上的)。

消息说明正在发生什么样的“操作”(从窗口/对话框的角度)或您想要诱导(从外部查看)。参数lParamwParam 然后允许提供有关该“操作”的更多信息。

有些消息只是通知,有些消息可以发送到windows来诱导一些操作。

【讨论】:

  • 谢谢。所以我只是想澄清一下我的理解是否正确。因此,当我在创建对话框时使用回调函数时;假设对话框有一些控件,例如滑块。因此,当我左键单击滑块时,Windows 将使用适当的 Windows 消息以及适当的 lParam 和 wParam 调用此回调函数。我对吗 ? .
  • @codeLover:是的。处理子窗口(即那些控件)事件的最可能消息是WM_COMMAND 和其他一些消息。
猜你喜欢
  • 2013-09-05
  • 1970-01-01
  • 2012-07-18
  • 2023-03-10
  • 1970-01-01
  • 2016-10-17
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多