在MSDN的WindowProc
上的Win32-Api文档(http://msdn.microsoft.com/en-us/library/ms633573%28VS.85%29.aspx)中,它指出:返回值是消息处理的结果,取决于发送的消息。
由于我必须实现这个(回调)程序,我想知道它依赖什么,以及我必须返回什么。有人可以对此有所了解吗?
答案 0 :(得分:9)
这取决于您正在处理的确切消息。您需要参考该消息的文档以查看返回值的预期值和含义。
例如,对于WM_CREATE,您应该返回零以继续创建窗口,并返回-1以失败并销毁窗口。对于WM_GETICON,您应该返回窗口图标的句柄。
对于您没有明确处理的消息,您应该调用DefWindowProc,将所有参数传递给窗口proc,并将其返回值返回给调用者。
答案 1 :(得分:3)
Michael's answer完美地回答了这个问题,但仅供参考,通常的返回值始终为0
。
对于大多数消息,这意味着您的应用程序已处理该消息。但请务必查阅MSDN页面,了解实际的消息。