关于C++可视化编程的问题(画图)

来源:百度知道 编辑:UC知道 时间:2024/07/06 18:38:05
1:绘制一个同心圆,圆心(50,50),半径逐渐加10。
2:绘制一个红色实线的倒三角形和一个白色虚线的正三角形和一个白色实线的圆,蓝色填充。
求windows可视化语言的代码。

1.同心圆:

int a=0,b=0;
while(a<50,b<50)
{
pDC->Ellipse(a,b,100-a,100-b);//同心圆
a+=10;
b+=10;
}
}
圆心在(50,50)所以最多只能画5个,多了就出边界了,没意义

2:三个图形
CPen cp; //建立画笔对象
cp.CreatePen(PS_SOLID,3,RGB(255,0,0)); //建立画笔
CPen* pOldPen=pDC->SelectObject(&cp); //调用画笔
pDC->MoveTo(100,100);
pDC->LineTo(400,100);
pDC->LineTo(250,200);
pDC->LineTo(100,100);
pDC->SelectObject(pOldPen);
cp.DeleteObject();

cp.CreatePen(PS_DASH,1,RGB(255,255,255));
pOldPen=pDC->SelectObject(&cp);
pDC->MoveTo(500,200);
pDC->LineTo(800,200);
pDC->LineTo(650,100);
pDC->LineTo(500,200);
pDC->SelectObject(pOldPen);
cp.DeleteObject();

CBrush bh(RGB(0,0,255));
CBrush* pbh=(CBrush*)pDC->SelectObject(&bh);
pDC->Ellipse(300,200,500,400);
pDC->SelectObject(bh);
bh.D