Windows程序设计实验指导书(完整)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《Windows程序设计》实验指导书2009-3-1目录实验一:VC++6.0开发环境熟悉.............................................1实验二:API对话框应用程序设计........................................3实验三:API菜单使用..............................................................6实验四、API绘图程序............................................................12实验五、MFC程序设计..........................................................17实验六:MFC对话框程序设计:计算器............................19实验七:MFC文档(SDI)应用:绘图程序.....................21综合性设计实验.......................................................................221实验一:VC++6.0开发环境熟悉一、实验目的熟悉VisualC++6.0开发环境,掌握VC6中建立、维护、运行工程项目的方法,掌握VC6中调试的方法。二、实验内容熟悉VisualC++6.0开发环境,如AppWizard、ClassWizard、工具栏、编译、运行普通的C++应用程序等,并能编写一个简单C++应用程序。熟悉调试过程。三、实验要求1、按下图建立一个C++程序,实现菜单选择,可以实现两个整数的加减。要求:[1]、建立工程;[2]、程序调试通过;[3]、菜单和功能用一个类来实现。2、制作一个简单的公司职员的管理程序,这个程序要求涉及到类、结构、函数的基本使用。同时,这个程序涉及到了对VisualStuido集成开发环境的使用,有关这方面的详细内容,请参阅本书的第二单元“VisualC++编程基础”。[1]、新建项目。使用VisualC++的应用程序向导生成一个控制台应用程序Demo。项目类型选择“Win32ConsoleApplication”,在向导的第一步中将程序类型设置成“AHello,World!application”。[2]、添加职员信息类。在集成开发环境的中选择Insert|NewClass菜单进入添加类的对话框,将新增的类名设置成workmate。之后,分别修改workmate类的定义及实现文件。[3]、使用职员信息类。四、思考题21、如何实现两个复数的加减?附:一些小窍门1)有时候,你可能在编译的时候,计算机突然非法关机了(可能某人不小心碰了电源或你的内存不稳定等原因)。当你重启机器后打开刚才的项目,重新进行编译,发现VC会崩掉。你或许以为你的VC编译器坏了,其实不然(你试试编译其它项目,还是好的!),你只要将项目的.ncb、.opt、.aps、.clw文件以及Debug、Release目录下的所有文件都删掉,然后重新编译就行了。2)如果你想与别人共享你的源代码项目,但是把整个项目做拷贝又太大。你完全可以删掉以下文件:.dsw、.ncb、.opt、.aps、.clw、.plg文件以及Debug、Release目录下的所有文件。3)当你的Workspace中包含多个Project的时候,你可能不能直观地、一眼看出来哪个是当前项目。可以如下设置:Tools-Options-Format,然后在Category中选择Workspacewindow,改变其默认的字体(比如设成Fixedsys)就行了。4)如何给已有的Project改名字?将该Project关掉。然后以文本格式打开.dsp文件,替换原来的Project名字即可。5)VC6对类成员的智能提示功能很有用,但有时候会失灵。你可以先关掉项目,将.clw和.ncb删掉,然后重新打开项目,点击菜单项View-ClassWizard,在弹出的对话框中按一下“AddAll”按钮;重新RebuildAll。应该可以解决问题。3实验二:API对话框应用程序设计一、实验目的掌握VC6中建立API程序的方法。二、实验内容练习手工生成APIWindows应用程序框架,以及利用VC的应用程序生成模版AppWizard来生成API程序框架。三、实验要求按下图建立一个API程序。要求:[1]、手工生成应用程序;[2]、使用AppWizard自动生成。四、实验步骤(一)使用AppWizard自动生成:1.在“File”菜单中选择“New”,将新建的类型设置成“Projects”。同时将项目类型设置成“Win32Application”。2.在应用程序向导的第二步中选择“AtypicalHelloWorld!application。”3.使用F5快捷键编译程序。经过以上三个最简单的步骤,一个“Hello,World”程序便制作完毕。此时可以查看在该项目所在的文件夹下,生成了哪些文件,并应了解这些文件的具体用法(二)手工生成应用程序:1.在“File”菜单中选择“New”,将新建的类型设置成“Projects”。同时将项目类型设置成“Win32Application”。2.在应用程序向导的第二步中选择“Emptyapplication。”3.在“New”选择“C++Source”,按照课本上实例3-1的内容输入程序,。44.使用F5快捷键编译程序经过以上三个最简单的步骤,一个“Hello,World”程序便制作完毕。此时可以查看在该项目所在的文件夹下,生成了哪些文件,并应了解这些文件的具体用法参考代码:#includewindows.h#includestdio.hLRESULTCALLBACKWinSunProc(HWNDhwnd,//handletowindowUINTuMsg,//messageidentifierWPARAMwParam,//firstmessageparameterLPARAMlParam//secondmessageparameter);intWINAPIWinMain(HINSTANCEhInstance,//handletocurrentinstanceHINSTANCEhPrevInstance,//handletopreviousinstanceLPSTRlpCmdLine,//commandlineintnCmdShow//showstate){WNDCLASSwndcls;wndcls.cbClsExtra=0;wndcls.cbWndExtra=0;wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);wndcls.hInstance=hInstance;wndcls.lpfnWndProc=WinSunProc;wndcls.lpszClassName=Computer2009;wndcls.lpszMenuName=NULL;wndcls.style=CS_HREDRAW|CS_VREDRAW;RegisterClass(&wndcls);HWNDhwnd;hwnd=CreateWindow(Computer2009,桂林电子科技大学应用科技学院,WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);MSGmsg;while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}return0;}LRESULTCALLBACKWinSunProc(5HWNDhwnd,//handletowindowUINTuMsg,//messageidentifierWPARAMwParam,//firstmessageparameterLPARAMlParam//secondmessageparameter){switch(uMsg){caseWM_CHAR:charszChar[20];sprintf(szChar,charis%d,wParam);MessageBox(hwnd,szChar,weixin,0);break;caseWM_LBUTTONDOWN:MessageBox(hwnd,mouseclicked,weixin,0);HDChdc;hdc=GetDC(hwnd);TextOut(hdc,0,50,Widows程序设计实验,strlen(Widows程序设计实验));ReleaseDC(hwnd,hdc);break;caseWM_PAINT:HDChDC;PAINTSTRUCTps;hDC=BeginPaint(hwnd,&ps);TextOut(hDC,0,0,程序设计实验,strlen(程序设计实验));EndPaint(hwnd,&ps);break;caseWM_CLOSE:if(IDYES==MessageBox(hwnd,是否真的结束?,Compuer,MB_YESNO)){DestroyWindow(hwnd);}break;caseWM_DESTROY:PostQuitMessage(0);break;default:returnDefWindowProc(hwnd,uMsg,wParam,lParam);}return0;}}五、思考题1、Window程序和控制台程序有什么区别?2、如何添加事件处理?6实验三:API菜单使用一、实验目的掌握VC6中菜单的创建和使用。二、实验内容菜单的创建有三种方法:1,在WINDOWCLASS中指定菜单资源的标识符;2,在CreateWindowEx函数参数中指定菜单句柄;3,先用LoadMenu函数载入菜单资源,再用SetMenu函数把菜单加载到应用程序的菜单栏。菜单的操作包含:向已存在菜单添加新的菜单项,删除菜单中的某一项,使菜单项呈现被选中状态,使菜单项无效,创建浮动式菜单,向Windows系统菜单中添加,删除选项等等。三、实验要求按下图建立一个创建菜单应用的程序框架。要求:1、创建弹出式菜单2、显示相关信息3、向已有菜单中插入新项4、删除菜单中的选项5、设置菜单项为选中标志6、设置菜单项为单选标志7、向系统菜单中插入新项四、实验步骤[1]、新建项目。使用VisualC++的应用程序向导生成一个应用程序MenuDemo。项目类型选择“Win32Application”,在向导的第一步中将程序类型设置成“AsimpleWin327application”。[2]、编写实现菜单使用的代码。参考代码:#defineWIN32_LEAN_AND_MEAN#includestdafx.h#includeresource.h#defineID_NEWITEM1013//定义新菜单项的标识符#defineID_NEWSYSITEM60441//定义新系统菜单项标识符LRESULTCALLBACKMainProc(HWND,UINT,WPARAM,LPARAM);BOOLWINAPIDoDispPopupMenu(HWND,int,int);//创建弹出式菜单VOIDWINAPIDoDispMessage(int);//显示相关信息VOIDWINAPIDoInsertMenuItem(void);//向已有菜单中插入新项VOIDWINAPIDoDeleteMenuItem(void);//删除菜单中的选项VOIDWINAPID

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功