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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

可视化编程实验报告Word文档格式.docx

1、实验分析与设计(可加页)一、 实验内容描述(问题域描述)要求:设计一个键盘程序,当按CTRL键时,表明要画椭圆;当按下Shift键时,表明要画矩形。然后单击向w键,椭圆或矩形的长度向上加10;单击s时,椭圆或矩形的高度向下加10;单击a键时,椭圆或矩形的长度向左加10;单击d时,椭圆或矩形的高度向右加10;单击键时,整个圆形或矩形向左移动,单击键时,整个圆形或矩形向右移动;单击键时,整个圆形或矩形向上移动;单击建时,矩形or圆形向下移动。二、 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)#include stdlib.hstring.hlong W

2、INAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam); BOOL InitWindowsClass(HINSTANCE hInstance); BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);HWND hWndMain; RECT rect1;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) MSG Message; if(!I

3、nitWindowsClass(hInstance) return FALSE;InitWindows(hInstance,nCmdShow) while(GetMessage(&Message,0,0,0) TranslateMessage(&Message); DispatchMessage(& return Message.wParam;long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam) HDC hDC; static BOOL bCircle=FALSE,bRect=FALSE; PAINTST

4、RUCT ps;switch(iMessage) case WM_KEYDOWN: if(wParam = VK_CONTROL) bCircle = TRUE; bRect = FALSE; rect1.left = 0; rect1.right = 0; rect1.top = 0; rect1.bottom = 0; else if(wParam = VK_SHIFT) bRect = TRUE; bCircle = FALSE; rect1.right = 0; else if(wParam = VK_RIGHT) rect1.right +=10; if(bRect = TRUE |

5、 bCircle = TRUE) InvalidateRect(hWnd,NULL,TRUE); else if(wParam = VK_DOWN) rect1.bottom +=10; else if(wParam = VK_PRIOR) rect1.top -=10; rect1.bottom -=10; else if(wParam = VK_NEXT) rect1.top +=10; else if(wParam = VK_HOME) rect1.left -=10; rect1.right -=10; else if(wParam = VK_END) rect1.left +=10;

6、 break; case WM_PAINT: hDC = BeginPaint(hWnd,&ps); if(bCircle = TRUE) Ellipse(hDC,rect1.left,rect1.top,rect1.right,rect1.bottom); if(bRect = TRUE) Rectangle(hDC,rect1.left,rect1.top,rect1.right,rect1.bottom); EndPaint(hWnd,& case WM_DESTROY: PostQuitMessage(0); return 0; default: return(DefWindowPro

7、c(hWnd,iMessage,wParam,lParam); return 0;BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)HWND hWnd; hWnd=CreateWindow(6_4, 鼠标显示实例程序, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, NULL, hInstance, NULL); hWnd) return FALSE; hWndMain=hWnd; ShowWindow(hWnd,nCmdShow); UpdateWindow(hWnd); return TRUE;BOOL In

8、itWindowsClass(HINSTANCE hInstance) WNDCLASS WndClass;WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION); WndClass.hInstance=hInstance; WndClass.lpfnWndProc=WndProc; WndClass.lpszClassName=; WndClass.lpszMenuName=N

9、ULL; return RegisterClass(&WndClass);三.主要仪器设备及耗材电脑VC+6.0软件第二部分:实验调试与结果分析(可加页)一、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)最开头掉了#include导致程序错误,加上后,运行良好。二、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)结果如图:计算器设计用MFC的向导创建编辑框,在编辑框中实现算术加、减、乘和除的运算。用class wizard对各按钮以及编辑框进行添加变量然后在jisuanDlg.cpp文件开头定义变量最后在下方添加下列代码void

10、CJisuanDlg:OnButton1() / TODO: Add your control notification handler code here UpdateData(TRUE); char *p1 = m_e1.GetBuffer(m_e1.GetLength(); char *p2 = m_e2.GetBuffer(m_e2.GetLength();float a1;a1=atof(p1);float a2;a2=atof(p2);a3=a1+a2;m_e3.Format(%f,a3); UpdateData(FALSE);OnButton2() a3=a1-a2;OnButt

11、on3() a3=a1*a2;OnButton4() a3=a1/a2;OnButton9() UpdateData(TRUE); m_e1 = _T(); m_e2 = _T( m_e3 = _T(三、主要仪器设备及耗材电脑 VC+一开始没有加入UpdateData(TRUE) UpdateData(FALSE)等代码,导致计算结果无法刷新与显示。这段代码是由其他同学在程序中找到的,灰体字,一开始没怎么注意,后来才发现可以执行清零功能三、 实验小结、建议及体会 通过这次上机实验,初步掌握了mfc编写对话框的基本方法,通过编写一个简单的小程序使自己对vc+有了更多的认识,对mfc编程有了更深的

12、体会,熟悉了使用class wizard添加函数以及变量的方法,认识到了mfc与api相比的方便之处。菜单设计MFC编程菜单应用实验内容:编写一个单文档应用程序在主菜单中增加【曲线】、【线宽】和【颜色】三个菜单项,【曲线】菜单中包含【正弦】和【余弦】两个菜单项;【线宽】菜单中包含【线宽2】和【线宽3】两个菜单项;【颜色】菜单中包含【红色】和【蓝色】两个菜单项二、基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)void CMainFrame:OnMenuitem32771() Add your command handler code here jp=0;C

13、ClientDC dc(this);CRect cr;GetClientRect(&cr); dc.FillSolidRect(cr,RGB(255,255,255); dc.SelectStockObject(BLACK_PEN);for(int j=0;j100;j+) /生成正弦曲线的点坐标 lpSinj.x=(long)(j*2*Pi/100*90); lpSinj.y=(long)(dfRange*sin(j*2*Pi/100)+100;dc.Polyline(lpSin,100);OnMenuitem32772() jp=1; lpSinj.y=(long)(dfRange*cos

14、(j*2*Pi/100)+100;OnMenuitem32773() CClientDC dc(this); HPEN hp; hp=CreatePen(PS_INSIDEFRAME,6,RGB(0,0,0); dc.SelectObject(hp); if(jp=1) for(int j=0; else for(int j=0;OnMenuitem32775() hp=CreatePen(PS_INSIDEFRAME,6,RGB(0,0,255);lpSinj.x=(long)(j*2*Pi/100*90);OnMenuitem32776() hp=CreatePen(PS_INSIDEFRAME,6,RGB(255,0,0);电脑VC +6.0 由于菜单的认识还不是很了解 只能初步设计下菜单按键的响应函数。在执行画笔时,每一次都要重新写一遍函数。希望以后有待加强通过这次试验体会菜单的制作以及画笔的使用方法,也初步掌握了菜单的修改和一些按钮的设置。

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

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