
本文主要向你们介绍了VC编程之运用Microsoft VC++6.0 的MFC的绘图软件实现简单图形的勾画,通过详细的内容向你们展现,希望对各位学习VC编程有所帮助。
在Windows系统上mfc 画图板,应用程序的图形设备接口(graphicsdeviceinterface,GDI)被抽象为设备上下文(DeviceContext,DC)。
在微软基类库MFC中,CDC类是定义设备上下文对象的子类,所有绘图函数都在CDC基类中定义。当必须输出文字或图形时,就必须读取CDC类的成员函数,这些成员变量具有输出文本、绘制图形的功能。
本文讲解的示例全部在TestView.cpp文件的voidCTestView::OnDraw(CDC*pDC)函数中实现。
1.在屏幕的P0(20,20)坐标位置处绘制一个蓝色像素点,然后读出该像素点的形状mfc 画图板,水平平移100个像素绘制P1点;画一个矩形。
代码如下:
1voidCMy00View::OnDraw(CDC*pDC)
2{
3CMy00Doc*pDoc=GetDocument();
4ASSERT_VALID(pDoc);
5//TODO:adddrawcodefornativedatahere

6
7COLORREFclr;
8intx=20,y=20;
9pDC->SetPixelV(x,y,RGB(255,0,0));
10clr=pDC->GetPixel(x,y);
11pDC->SetPixelV(x+100,y,clr);//像素点
12pDC->Rectangle(100,200,200,300);//矩形
13}
效果如下:
2.从起点P0(20,30)到终点P1(200,300)画一条1像素宽的红色直线
代码如下:

1voidCMy00View::OnDraw(CDC*pDC)
2{
3CMy00Doc*pDoc=GetDocument();
4ASSERT_VALID(pDoc);
5//TODO:adddrawcodefornativedatahere
6//从起点P0(20,30)到终点P1(200,300)画一条1像素宽的红色直线,
7CPenNewPen,*p01dPen;
8NewPen.CreatePen(PS_SOLID,1,RGB(0,0,255));
9p01dPen=pDC->SelectObject(&NewPen);
10pDC->MoveTo(20,30);
11pDC->LineTo(200,300);

12pDC->SelectObject(p01dPen);
13NewPen.DeleteObject();
14}
效果如下:
3.绘制左上角点为P0(100,100),右下角点为P1(600,300)的矩形。矩形边界线为1像素宽的绿线,矩形内部填充为蓝色
代码如下:
1voidCMy00View::OnDraw(CDC*pDC)
2{
3CMy00Doc*pDoc=GetDocument();
4ASSERT_VALID(pDoc);
5//TODO:adddrawcodefornativedatahere

6CPenNewPen,*p01dPen;
7NewPen.CreatePen(PS_SOLID,1,RGB(0,0,255));
8p01dPen=pDC->SelectObject(&NewPen);
9CBrushNewBrush,*p01dBrush;
10NewBrush.CreateSolidBrush(RGB(0,255,0));
11p01dBrush=pDC->SelectObject(&NewBrush);
12pDC->Rectangle(100,100,600,300);
13pDC->SelectObject(p01dBrush);
14NewBrush.DeleteObject();
15}
效果如下:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-141522-1.html
按目前余额宝七日年化利息3左古算
即使考不上大学念书不好的高中生写起日记来
好棒啊