Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2006, 14:19
nostromo_
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta Problema con GDI

Holas;

Tengo el siguiente problema:

Estoy desarrollando una aplicación, el cual me grafica los datos en le form, de la siguiente manera:

app.h

Código:
void graf(HDC hdc, HWND hwnd)
{
    hdc = GetDC(hwnd);
    SetMapMode(hdc,MM_ISOTROPIC);
    SetWindowExtEx(hdc,640,400,NULL);
    SetViewportExtEx(hdc,550,450,NULL);
    SetViewportOrgEx(hdc,150,0,NULL);
    :
    /* Resto de las funciones del dibujo
    MoveToEx, LineTo, etc..........
    */
    :
    ReleaseDC(hdc,hwnd);
}
graf.cpp

Código:
case WM_COMMAND:
    switch(LOWORD(wParam))
    {
      case 110:
         graf(hdc,hwnd);
      break;
    }
    break;
El asunto es que funciona a las mil maravillas, el problema es, cuando se sobrepone otra aplicación, el GDI se borra, no pasa así cuando realizo el gráfico en el evento Paint:

Código:
case WM_PAINT:
    hdc = BeginPaint(hwnd,&ps);
    // instrucciones del function graf(); quitando GetDC y ReleaseDC
    EndPaint(hwnd,ps);
    break;
De que forma puedo solucionar el problema????, desde ya Gracias...