La Web del Programador: Comunidad de Programadores
 
    Pregunta:  12398 - CUSTOM CONTROLS Y OPENGL
Autor:  Jordi S P
Hola!
Vereis, tengo puesto un custom control en un diálogo, al que le he asignado una variable X de una clase q me he creado.
En el DoDataExchange he puesto q esa variable pertenezca a ese control. Hasta aqui todo va bien.
Lo que quiero es dibujar un cubo en ese control. He creado la funcion DibCubo en esta clase q he creado, para luego
llamarla desde otro sitio poniendo X.DibCubo. Pero lo q no sé, es qué debo poner en esa función para q me dibuje el cubo.
Lo he de hacer en OpenGL, y conozco las instrucciones glVertex3f, etc, para dibujar, Lo q ya no domino, son las q hay que poner para q la ventana donde dibujare el cubo (es decir, la ventana del control, ahora negra) se active, o se configure, o lo que sea, para q salga dibujado ese cubo. Y otra pregunta. En la ventana de propiedades del custom control hay un apartado para poner la clase. Me han dicho q ponga MyOpenGL, pero no sé por qué. La verdad es q funciona, pq los eventos de clicar el raton sobre la ventana me van bien, pero no se pq hay qponer esa clase. Bueno, pero lo importante es lo otro del cubo. Me podeis ayudar?. En un poquillo urgente. Muchas gracias!. Un saludo a todos. Jordi. :o)

  Respuesta:  Oscar Vazquez
La única forma de poder dibujar en una ventana (control en tu caso) es procesar el mensage WM_PAINT (OnPaint(...) en VC++).
Si la única tarea de ese control, es la de poder mostrar tu dibujo, podrías utilizar un "STATIC" en tu Dialog.
En la aplicación debes crear una clase herada de CStatic y redefinir el método OnPaint().
class MiCubo: public CStatic
{
};