Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/09/2006, 18:10
Nivel7
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años
Puntos: 2
Bueno, podrias implementar tu propia funcion DispatchMessage(), tal vez de esta forma podrias hacerlo totalmente POO, pero la verdad no se que resultados puedas tener.

otra solucion es, que a nivel global, declares el WndProc, y que desde esa funcion invokes el WndProc de tu aplicacion la cual si es una funcion miembro.


ejemplo:

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
App* app = (App*)GetWindowLong(hwnd, GWL_USERDATA);
return app->WndProc(hwnd, message, wParam, lParam);
}

de esta forma el elemento que sera global solo sera un punente al WndProc real.
en este caso seria mejor usarla como estatica, para no ronper la estructura.

es decir tendrias un WndProcS miembro estatico y un WndProc miembro.

y no se a que te refieres con usar macros.

Saludos.