2011-01-10 14 views
5

En la documentación de Win32 API de MSDN (en http://msdn.microsoft.com/en-us/library/ms633573%28VS.85%29.aspx) en el WindowProc, se indica: El valor de retorno es el resultado del procesamiento de mensajes y depende del mensaje enviado.valor de retorno correcta de "WindowProc" en una aplicación Win32

Como tengo que implementar este procedimiento (devolución de llamada), me gustaría saber de qué depende y qué tengo que devolver. ¿Alguien puede arrojar algo de luz sobre esto?

Respuesta

8

Depende del mensaje exacto que está procesando. Debe consultar la documentación de ese mensaje para ver los valores esperados y los significados del valor de retorno.

Por ejemplo, para WM_CREATE, debe devolver cero para continuar la creación de la ventana, y -1 para fallar y destruir la ventana. Para WM_GETICON, debe devolver un identificador al icono de su ventana.

Para los mensajes que no maneja explícitamente, debe llamar al DefWindowProc, pasarle todos los parámetros al programa de su ventana y devolver su valor de retorno a la persona que llama.

3

Michael's answer responde perfectamente a la pregunta, pero solo como referencia, el valor de retorno habitual siempre será 0. Para la mayoría de los mensajes, significa que su aplicación ha procesado el mensaje. Pero siempre consulte la página de MSDN para conocer el mensaje real para saber con certeza.