06/01/2007, 19:26
|
| | Fecha de Ingreso: abril-2006 Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 8 meses Puntos: 2 | |
Re: Winapi Si realmente quieres aventurarte con el API de Windows. No veo forma de des ahcerte del procedimiento de ventana que a de asignarse al puntero de la estructura de la Clase de ventana.
la forma en que puedes usarlo es como un procedimiento amigo de la clase o como un metodo estatico.
en ambos casos no podrias acceder al puntero this.
hay formas de poder obtenerlo.
una es obtenerlo directamente en el Procedimiento de ventana o usar un metodo de la clase que realice las mismas funciones del procedimiento de ventana, similar a como ha mostrado en su ejemplo MaxExtreme.
la mejor forma de obtener el puntero this es usando la funcion GetWindowLong, funcion que retorna un dato de la ventana (HWND) que pasas como parametro determinado por el indice o constante GWL_....
generalmente GWL_USERDATA.
claro antes tienes que asignar este puntero(this) a tu ventana, ya sea con SetWindowLong, si lo obtendras con GetWindowLong o en el campo lParam de una estructura MDICREATESTRUCT pasandola en el ultimo parametro de la funcionCreateWindowEx.
Las funciones GetWindowLong y SetWindowLong te seran muy utiles, y las respectivas constantes GWL_....
Saludos. |