[C con Clase] Win32 en una clase

Programante programante en gmail.com
Mie Mar 19 13:31:35 CET 2008


Ferran Ferri escribió:
> Hola a todos:
>
> estoy intentanto hacer una clase que encapsule el codgo necesario para 
> abrir una ventana con win32 API. La idea es que el codigo del main 
> quede algo asi:
>
>
> Estos metodos siempre se declaran como static dentro de la clase. 
> Ambos se parecen y creo entender que redireccionan el puntero a 
> funcion que se llama para proceso de mensages. Pero la verdad es que 
> no se muy bien como funciona.
>
> Para resumir:
> - Quiero una clase que encapsule una ventana de win32
> - No se como hacer que el proceso de mensajes se haga dentro de la 
> misma clase.
>
> Me podeis ayudar?
> Gracias

Las funciones miembro de una clase siempre tienen, además de los 
parámetros que les ponen, un parámetro implícito que es el puntero this 
a la clase. La función
wndproc necesita tener unos parámetros específicos, por lo que no puedes 
pasarle una función miembro (colisiona con el parámetro this). Puedes 
pasarleuna función
static, porque ella no tiene this. Pero estás perdiendo la ventaja de 
estar dentro de la clase.
La solución pasa por almacenar al crear la ventana la información de la 
clase a la que pertenece, como ya has visto que hacen en otros sitios. 
Directamente no se puede hacer.




Más información sobre la lista de distribución Cconclase