云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 2012级中国石油大学VC++实验报告

2012级中国石油大学VC++实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/26 14:09:34

Visual C++面向对象与可视化程序设计实验报告

{ MessageBeep(0) ; return FALSE ; } //---------------- 创建窗口 ------------------- hwnd=CreateWindow ( // _T(\ lpszClassName, //窗口类名 lpszTitle, //窗口实例的标题名

WS_OVERLAPPEDWINDOW, //窗口的风格

CW_USEDEFAULT,

CW_USEDEFAULT, //窗口左上角坐标为缺省值 CW_USEDEFAULT, CW_USEDEFAULT, //窗口的高和宽为缺省值 NULL, //此窗口无父窗口 NULL, //此窗口无主菜单 hInstance, //创建此窗口的应用程序的当前句柄 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 message, WPARAM wParam, LPARAM lParam ) { HDC hDC; //定义指向设备的句柄 HBRUSH hBrush; //定义指向画刷的句柄 HPEN hPen; //定义指向画笔的句柄 PAINTSTRUCT PtStr; //定义指向包含绘图信息的结构变量 POINT points1[3],points2[3],points3[3],points4[3];

9

Visual C++面向对象与可视化程序设计实验报告

points1[0].x=10; points1[0].y=10; points1[1].x=100; points1[1].y=10; points1[2].x=55; points1[2].y=55; points2[0].x=55; points2[0].y=55; points2[1].x=100; points2[1].y=10; points2[2].x=100; points2[2].y=100; points3[0].x=100; points3[0].y=100; points3[1].x=55; points3[1].y=55; points3[2].x=10; points3[2].y=100; points4[0].x=10; points4[0].y=100; points4[1].x=55; points4[1].y=55; points4[2].x=10; points4[2].y=10;

switch(message) { case WM_PAINT: //处理绘图消息 hDC=BeginPaint(hwnd,&PtStr); SetMapMode(hDC,MM_ISOTROPIC); //设置映像模式 SetWindowExtEx(hDC,50,50,NULL); SetViewportExtEx(hDC,100,500,NULL); hBrush=(HBRUSH)CreateSolidBrush(RGB(0,100,100)); SelectObject(hDC,hBrush); Polygon(hDC,points1,3); hBrush=(HBRUSH)CreateSolidBrush(RGB(100,0,100)); SelectObject(hDC,hBrush); Polygon(hDC,points2,3); hBrush=(HBRUSH)CreateSolidBrush(RGB(100,100,100)); SelectObject(hDC,hBrush); Polygon(hDC,points3,3); hBrush=(HBRUSH)CreateSolidBrush(RGB(100,100,0)); SelectObject(hDC,hBrush); Polygon(hDC,points4,3);

10

Visual C++面向对象与可视化程序设计实验报告 hPen=CreatePen(PS_SOLID,2,RGB(0,255,255)); SelectObject(hDC,hPen); MoveToEx(hDC,10,10,NULL); LineTo(hDC,100,10);

hPen=CreatePen(PS_SOLID,2,RGB(0,255,0)); SelectObject(hDC,hPen);

MoveToEx(hDC,100,10,NULL); LineTo(hDC,100,100);

hPen=CreatePen(PS_SOLID,2,RGB(0,0,255)); SelectObject(hDC,hPen);

MoveToEx(hDC,100,100,NULL); LineTo(hDC,10,100);

hPen=CreatePen(PS_SOLID,2,RGB(255,255,0)); SelectObject(hDC,hPen);

MoveToEx(hDC,10,100,NULL); LineTo(hDC,10,10);

hPen=CreatePen(PS_SOLID,2,RGB(255,0,255)); SelectObject(hDC,hPen); MoveToEx(hDC,10,10,NULL); LineTo(hDC,100,100);

hPen=CreatePen(PS_SOLID,2,RGB(255,0,0)); SelectObject(hDC,hPen);

MoveToEx(hDC,100,10,NULL); LineTo(hDC,10,100);

hBrush=(HBRUSH)GetStockObject(DKGRAY_BRUSH); //深灰色刷 SelectObject(hDC,hBrush);

Rectangle(hDC,150,100,200,150); DeleteObject(hBrush); DeleteObject(hPen); EndPaint(hwnd,&PtStr); //结束绘图 return 0;

case WM_DESTROY:

PostQuitMessage(0);

default: //缺省时采用系统消息缺省处理函数 return DefWindowProc(hwnd,message,wParam,lParam); }

return(0);

11

Visual C++面向对象与可视化程序设计实验报告

}

(2) 总结在Windows 程序中绘制图形的基本操作步骤;

(1)分别定义指向设备上下文、画刷、画笔的句柄,定义指向包含绘图信息的结构体变量。

(2)在处理绘图消息的时候首设置好映像模式,编写绘图程序时先选择画笔与画刷。

(3)在编写绘图程序。

(4)绘图程序写完后释放画刷画笔句柄,结束绘图程序。

(3) 总结实验的心得体会,实验中遇到的困难以及解决的方法等。

实验刚开始,对于实验的基本操作不够熟悉。尤其是在对画笔和画刷的初始化上没有足够的认识,导致浪费了一些时间。经过一节课的摸索逐渐的熟悉了画刷和画笔的使用。有了对画笔的使用基础,对于各种绘图函数都能灵活运用。在绘制多边形时,对于其中要求的坐标表示的概念比较模糊,在同学的帮助下才知道需要先定义一个包含坐标的数组,然后在绘制图形时进行引用便行了。

12

搜索更多关于: 2012级中国石油大学VC++实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Visual C++面向对象与可视化程序设计实验报告 { MessageBeep(0) ; return FALSE ; } //---------------- 创建窗口 ------------------- hwnd=CreateWindow ( // _T(\ lpszClassName, //窗口类名 lpszTitle, //窗口实例的标题名 WS_OVERLAPPEDWINDOW, //窗口的风格 CW_USEDEFAULT, CW_USEDEFAULT, //窗口左上角坐标为缺省值 CW_USEDEFAULT, CW_USEDEFAULT, //窗口的高和宽为缺省值 NULL, //此窗口无父窗口 NULL,

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com