Tengo que dibujar una superfice poligonal y dentro de esta unos cuantos circulos. He utilizado MFC y el siguiente código dibuja lo que quiero, pero con el inconveniente de que los parametros estan fijos.
void CdrawView::OnDraw(CDC* pDC)
{
CdrawDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CPen * draw_poly;
CPen Lapiz (PS_SOLID, 3, RGB (0,0,0));
POINT puntos [7] = {600, 50, 350, 250, 250, 550, 550, 750, 950, 650, 1100, 350,600,50};
draw_poly = pDC ->SelectObject(&Lapiz);
pDC ->Polyline (puntos,7);
pDC ->SelectObject (Lapiz);
CPen * draw_circles;
CPen Lapiz2 (PS_SOLID, 1, RGB (0,0,0));
CBrush * antiguoRelleno;
CBrush Relleno (RGB (0,0,255));
draw_circles = pDC ->SelectObject(&Lapiz2);
antiguoRelleno = pDC ->SelectObject (&Relleno);
pDC->Ellipse(450, 50, 750, 350);
pDC->Ellipse(300,150, 600, 450);
pDC->Ellipse(200,350, 500, 650);
pDC->Ellipse(350,450, 650, 750);
pDC->Ellipse(550,500, 850, 800);
pDC->Ellipse(700,450,1000, 750);
pDC->Ellipse(800,275,1125, 600);
pDC->Ellipse(650,100, 950, 400);
pDC->Ellipse(475,300, 675, 500);
pDC->Ellipse(625,300, 825, 500);
pDC->Ellipse(550,400, 750, 600);
pDC ->SelectObject (Lapiz2);
}
Mi pregunta es: Como puedo cambiar los radios de los
circulos cuando el programa se esté ejecutando? me gustaría meterlos por
pantalla, o que los lea de una matriz. Para ello necesitaré hacer una llamada a la función metiendole unos parametros, como por ejemplo:
OnDraw(CDC* pDC, int X1, int Y1, int X2, int Y2);
y en el programa que he puesto antes tendría que poner algo así (más o menos)
pDC->Ellipse(X1, Y1, X2, Y2);
Espero que alguien me pueda echar un cable con esto.