[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