ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:111.01KB ,
资源ID:4465107      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4465107.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(可视化程序设计实验三剖析.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

可视化程序设计实验三剖析.docx

1、可视化程序设计实验三剖析 可视化程序设计实验三 设计一个应用程序(圆) 学生: 学号: 指导老师:李家军 2015.4.25一、实验任务:窗口显示后在客户区显示有一个红色两象素宽线内部为黄色的圆,点击A或a键则圆会放大,点击S或s则圆会缩小,点击A/a一定次数后圆不能再放大,显示出一个对话框提示不能再大了,单击确定后对话框关闭, 点击S/s一定次数后圆不能再缩小,显示出一个对话框提示不能再小了,单击确定后对话框关闭. 要求窗口的标题栏显示你的学号和姓名,并将圆的面积显示在客户区的(100,20)以右的区域,格式为:圆的面积=(xxxx) 平方立米. 本实验要求必须采用API方式编程。二、步骤:

2、1. 自主学习API方式编程;2.确定相关变量,圆形面积,按键;3.用窗口类来创建对象,调用函数;4.在6.0环境下调试运行程序,并纠错;5.分析实验结果,作出相应总结。三、程序说明及程序流程图程序说明:窗口显示后在客户区显示有一个红色两象素宽线内部为黄色的圆,点击A或a键则圆会放大,点击S或s则圆会缩小,点击A/a 3次数后圆不能再放大,显示出一个对话框提示不能再大了,单击确定后对话框关闭, 点击S/s 3次数后圆不能再缩小,显示出一个对话框提示不能再小了,单击确定后对话框关闭. 要求窗口的标题栏显示你的学号和姓名,并将圆的面积显示在客户区的(100,20)以右的区域,格式为:圆的面积=(x

3、xxx) 平方立米. 四实验结果及截图:1实验程序运行结果:2按下按键a或A 图形变大3. 按下按键a 或A三次后 图形无法变大 弹出提示框4按下按键s或S 图形变小5. 按下按键s 或S三次后 图形无法变大 弹出提示框四源程序 #include#include#includeWNDCLASSEX wndclass;HWND hWnd;MSG msg;LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);void Draw(HDC hdc,int i);void Text(HDC hdc,int i);int ii=0;int WINAPI Win

4、Main( HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) /主函数 wndclass.cbSize=sizeof(WNDCLASSEX); /窗口类的大小 wndclass.style=0; /窗口类型为默认类型 wndclass.lpfnWndProc=WndProc; /窗口处理函数是WndProc wndclass.cbClsExtra=0; /窗口类无扩展句柄 wndclass.cbWndExtra=0; /窗口实例无扩展 wndclass.hInstance=hInstance; /

5、当前实例 wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); /窗口类的图标 wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); /窗口采用箭头光标 wndclass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH); /窗口背景为白色 wndclass.lpszMenuName=NULL; /窗口中无菜单 wndclass.lpszClassName=窗口; /窗口类名为窗口 wndclass.hIconSm=NULL; /窗口类的小图标 if(!Registe

6、rClassEx(&wndclass) /注册失败报警 MessageBeep(0); return FALSE; hWnd=CreateWindow /创建窗口 ( 窗口, /窗口类名 何博 12020229, /窗口实例的标题名 WS_OVERLAPPEDWINDOW, /窗口的风格 CW_USEDEFAULT,CW_USEDEFAULT, /窗口左上角坐标 默认 CW_USEDEFAULT,CW_USEDEFAULT, /窗口高和宽 默认 0, /无父窗口 0, /无主菜单 hInstance, /创建此窗口应用程序的当前句柄 0 /不使用该值 ); ShowWindow(hWnd,nC

7、mdShow); /显示窗口 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; /定义指向设备的句柄 PAINTSTRUCT ps; /定义指向包含绘图信息的结构体变量 sw

8、itch(message) case WM_CHAR: /按键响应 if(wParam=A|wParam=a) /A/a图形增大并显示面积 hdc=GetDC(hwnd); ii+; Text(hdc,ii); Draw(hdc,ii); ReleaseDC(hwnd,hdc); if(wParam=S|wParam=s) /S/s图形减小并显示面积 hdc=GetDC(hwnd); ii-; Text(hdc,ii); Draw(hdc,ii); ReleaseDC(hwnd,hdc); break; case WM_PAINT: /处理覆盖的情况 hdc=BeginPaint(hwnd,&

9、ps); Text(hdc,ii); Draw(hdc,ii); EndPaint(hwnd,&ps); break; case WM_DESTROY: /发出WM_QUIT消息 PostQuitMessage(0); break; default: return DefWindowProc(hwnd,message,wParam,lParam); return 0;void Draw(HDC hdc,int i) /画图函数 HPEN hPen; /定义指向画笔的句柄 HBRUSH hBrush; /定义指向画刷的句柄 SetMapMode(hdc,MM_ANISOTROPIC); /设置映

10、像模式 if(i=-3&i=3) hPen=CreatePen(PS_SOLID,2,RGB(255,255,255); hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(255,255,255); /画刷 SelectObject(hdc,hBrush); /选择画刷 SelectObject(hdc,hPen); /选择画笔 Ellipse(hdc,0,0,1000,1000); /清屏 hPen=CreatePen(PS_SOLID,2,RGB(255,0,0); hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(255,2

11、55,0); /画刷 SelectObject(hdc,hBrush); /选择画刷 SelectObject(hdc,hPen); /选择画笔 Ellipse(hdc,200-20*i,200-20*i,400+20*i,400+20*i); /绘制圆 else if(i-3) ii=-3; hPen=CreatePen(PS_SOLID,2,RGB(255,255,255); hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(255,255,255); /画刷 SelectObject(hdc,hBrush); /选择画刷 SelectObject(hdc,

12、hPen); /选择画笔 Ellipse(hdc,0,0,1000,1000); /清屏 MessageBox(hWnd,不能再小了!,来自何博的提示,0); else ii=3; hPen=CreatePen(PS_SOLID,2,RGB(255,255,255); hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(255,255,255); /画刷 SelectObject(hdc,hBrush); /选择画刷 SelectObject(hdc,hPen); /选择画笔 Ellipse(hdc,0,0,1000,1000); /清屏 MessageBox(h

13、Wnd,不能再大了!,来自何博的提示,0); void Text(HDC hdc,int i) /输出文本函数 TEXTMETRIC tm; switch(i) case 0: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,圆的面积=(31400)平方米,22); break; case 1: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,圆的面积=(45216)平方米,22); break; c

14、ase 2: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,圆的面积=(61544)平方米,22); break; case 3: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,圆的面积=(80384)平方米,22); break; case -1: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,圆

15、的面积=(20096)平方米,22); break; case -2: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,圆的面积=(11304)平方米,22); break; case -3: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,圆的面积= (5024)平方米,22); break; default: SetTextColor(hdc,RGB(0,0,0); GetTextMetrics(hdc,&tm); TextOut(hdc,100,20,错误!无法再进行操作!,22); break;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1