Tengo una aplicacion SDI generada por el AppWizard, y su vista es derivada de CScrollView.
En la cual hé agregado el siguiente codigo en las funciones OnDraw y OnInitialUpdate:
- Código: Seleccionar todo
void CDesplazView::OnDraw(CDC* pDC)
{
CDesplazDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CSize siPantalla;
siPantalla.cx= GetSystemMetrics(SM_CXSCREEN);
siPantalla.cy= GetSystemMetrics(SM_CYSCREEN);
pDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(800,600);
pDC->SetViewportExt(siPantalla.cx ,-siPantalla.cy);
pDC->SetViewportOrg(siPantalla.cx/2,siPantalla.cy+100);
CRect rect(-300,600,300,-600);
pDC->Rectangle(&rect);
CBrush brRelleno;
brRelleno.CreateSolidBrush(RGB(0,0,255));
CBrush *pBrAnterior=pDC->SelectObject(&brRelleno);
pDC->Ellipse(&rect);
pDC->SelectObject(pBrAnterior);
brRelleno.DeleteObject();
}
void CDesplazView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal;
// TODO: calculate the total size of this view
sizeTotal.cx = 200;
sizeTotal.cy = 1000;
SetScrollSizes(MM_TEXT, sizeTotal);
}
Al ejecutar el programa, la imagen se visualiza bien, pero al deslizar la barra de desplazamiento vertical (u horizontal) el grafico no se repinta correctamente.
¿ Que estoy haciendo mal ó dejando de hacer ?
Gracias de antemano por su respuesta.
Johnny.






