当前位置: 首页 > 其他范文 > 其他范文

实验四,MFC,图形绘制编程实验

作者:千劫 | 发布时间:2020-12-22 12:28:17 收藏本文 下载本文

实验四 MFC 图形绘制编程实验 《Visual C++ 语言》 学 校 中国石油大学(华东)学 院 信息与控制工程学院 专业班级 电气 12-* 班 姓 名 *** 学 号 12****** 信息与控制工程学院自动化系 2014 年 9 月

一、实验目的(1)熟悉Visual Studio 开发环境;(2)掌握MFC 消息映射的操作步骤;(3)掌握MFC 图形输出的方法;(4)理解设备环境、画笔、画刷的概念,掌握常用的绘图函数。

二、实验内容 请编写程序,要求如下:

(1)定义一支黄色画笔,绘制一条线段;(1)定义一支紫色画笔,绘制一条多段线;(3)定义一支红色画笔,绘制一个正方形,并用适当的画刷填充图形内部;(4)定义一支绿色画笔,绘制一个圆,并用适当的画刷填充图形内部;(5)定义一支蓝色画笔,绘制一个正六边形,并用适当的画刷填充图形内部。

三、实验结果(1)程序代码清单 #include"windows.h" #include LRESULT CALLBACK WndProc(HWND hwnd,UINT messgae, WPARAM wparam,LPARAM lparam);int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow){ WNDCLASS ws;HWND hWnd;MSG msg;ws.style=0;ws.lpfnWndProc=WndProc;ws.cbClsExtra =0;ws.cbWndExtra=0;ws.hInstance =hThisInst;ws.hIcon =LoadIcon(NULL,IDI_HAND);ws.hCursor =LoadCursor(NULL,IDC_CROSS);ws.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);ws.lpszMenuName =NULL;ws.lpszClassName ="DemoClass";if(!RegisterClass(&ws)){ return-1;} hWnd=CreateWindow("DemoClass","windows 绘图编程 ", WS_OVERLAPPEDWINDOW,100,200,640,480,NULL,NULL,hThisInst,NULL);ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);

while(GetMessage(&msg,NULL,0,0)){ TranslateMessage(&msg);DispatchMessage(&msg);} return msg.wParam;} LRESULT CALLBACK WndProc(HWND hwnd ,UINT messgae, WPARAM wParam,LPARAM lParam){ HDC hDC;HBRUSH hBr;PAINTSTRUCT PtStr;HPEN hPen;double add=sqrt(3);POINT pt1[]={{100,50},{200,100},{300,50}};POINT pt2[]={{100,250},{150,250},{175,250+25*add},{150,250+50*add},{100,250+50*add},{75,250+25*add}};switch(messgae){ case WM_PAINT: hDC=BeginPaint(hwnd,&PtStr);SetMapMode(hDC,MM_ANISOTROPIC);hPen=CreatePen(PS_SOLID,2,RGB(0,0,0));//此为绘制直线代码 SelectObject(hDC,hPen);MoveToEx(hDC,40,40,NULL);LineTo(hDC,80,80);hPen=CreatePen(PS_SOLID,2,RGB(0,255,255));//此为绘制多段线代码 SelectObject(hDC,hPen);Polyline(hDC,pt1,3);hBr=CreateSolidBrush(RGB(0,255,255));//此为绘制矩形代码 SelectObject(hDC,hBr);hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));SelectObject(hDC,hPen);Rectangle(hDC,350,50,550,300);hBr=CreateSolidBrush(RGB(255,0,0));//此为绘制椭圆代码

SelectObject(hDC,hBr);hPen=CreatePen(PS_SOLID,1,RGB(0,255,0));SelectObject(hDC,hPen);Ellipse(hDC,250,350,200,200);hBr=CreateSolidBrush(RGB(0,0,255));//此为绘制多边形代码 SelectObject(hDC,hBr);hPen=CreatePen(PS_SOLID,1,RGB(0,0,255));SelectObject(hDC,hPen);Polygon(hDC,pt2,6);EndPaint(hwnd,&PtStr);break;case WM_DESTROY: PostQuitMessage(0);return 0;default: return DefWindowProc(hwnd,messgae ,wParam,lParam);} return 0;} 绘图效果:

实验四三视图绘制

实验四报告

实验四查询

信管实验四

sql实验四

本文标题: 实验四,MFC,图形绘制编程实验
链接地址:https://www.dawendou.com/fanwen/qitafanwen/329258.html

版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《实验四,MFC,图形绘制编程实验》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

重点推荐栏目

关于大文斗范文网 | 在线投稿 | 网站声明 | 联系我们 | 网站帮助 | 投诉与建议 | 人才招聘 | 网站大事记
Copyright © 2004-2025 dawendou.com Inc. All Rights Reserved.大文斗范文网 版权所有