在Win32应用程序中正确返回“WindowProc”的值

WindowProc上的MSDN的Win32-Api文档(位于http://msdn.microsoft.com/en-us/library/ms633573%28VS.85%29.aspx )上,它指出: 返回值是消息的结果处理和取决于发送的消息。

因为我必须实现这个(callback)过程,我想知道它依赖于什么,以及我必须返回。 有人可以解释一下吗?

Solutions Collecting From Web of "在Win32应用程序中正确返回“WindowProc”的值"

这取决于您正在处理的确切消息。 您需要参考该消息的文档以查看返回值的期望值和含义。

例如,对于WM_CREATE ,你应该返回零来继续创建窗口,而-1会失败并销毁窗口。 对于WM_GETICON ,您应该返回窗口图标的句柄。

对于你不明确处理的消息,你应该调用DefWindowProc ,将所有的参数传递给你的窗口过程,并返回给调用者的返回值。

迈克尔的回答完美地回答了这个问题,但仅供参考,通常的返回值将始终为0 。 对于大多数消息,这意味着你的应用程序已经处理了消息。 但总是咨询MSDN页面的实际消息肯定知道。