在Win32应用程序中更正"WindowProc"的返回值

Ren*_*ger 6 windows winapi

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

由于我必须实现这个(回调)程序,我想知道它依赖什么,以及我必须返回什么.有人可以对此有所了解吗?

Mic*_*ael 9

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

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

对于您没有明确处理的消息,您应该调用DefWindowProc,将所有参数传递给窗口proc,并将其返回值返回给调用者.