资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Windows程序设计实验指导书2009-3-1目录实验一:VC+6.0开发环境熟悉1实验二: API对话框应用程序设计3实验三:API菜单使用6实验四、API绘图程序12实验一:VC+6.0开发环境熟悉一、 实验目的熟悉Visual C+ 6.0开发环境,掌握VC6中建立、维护、运行工程项目的方法,掌握VC6中调试的方法。二、 实验内容熟悉Visual C+ 6.0开发环境,如AppWizard、ClassWizard、工具栏、编译、运行普通的C+应用程序等,并能编写一个简单C+应用程序。熟悉调试过程。三、 实验要求1、按下图建立一个C+程序,实现菜单选择,可以实现两个整数的加减。要求:1、建立工程;2、程序调试通过;3、菜单和功能用一个类来实现。2、制作一个简单的公司职员的管理程序,这个程序要求涉及到类、结构、函数的基本使用。同时,这个程序涉及到了对Visual Stuido集成开发环境的使用,有关这方面的详细内容,请参阅本书的第二单元“Visual C+编程基础”。1、新建项目。使用Visual C+的应用程序向导生成一个控制台应用程序Demo。项目类型选择“Win32 Console Application”,在向导的第一步中将程序类型设置成“A Hello, World! application”。2、添加职员信息类。 在集成开发环境的中选择Insert|New Class菜单进入添加类的对话框,将新增的类名设置成workmate。之后,分别修改workmate类的定义及实现文件。3、使用职员信息类。 四、思考题1、 如何实现两个复数的加减?附:一些小窍门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中选择Workspace window,改变其默认的字体(比如设成Fixedsys)就行了。4) 如何给已有的Project改名字?将该Project关掉。然后以文本格式打开.dsp文件,替换原来的Project名字即可。5) VC6对类成员的智能提示功能很有用,但有时候会失灵。你可以先关掉项目,将.clw和.ncb删掉,然后重新打开项目,点击菜单项View-ClassWizard,在弹出的对话框中按一下“Add All”按钮;重新Rebuild All。应该可以解决问题。实验二: API对话框应用程序设计一、 实验目的掌握VC6中建立API程序的方法。二、 实验内容练习手工生成API Windows应用程序框架,以及利用VC的应用程序生成模版AppWizard来生成API程序框架。三、 实验要求按下图建立一个API程序。要求:1、手工生成应用程序;2、使用AppWizard自动生成。四、 实验步骤(一)使用AppWizard自动生成:1在“File”菜单中选择“New”,将新建的类型设置成“Projects”。同时将项目类型设置成“Win32 Application”。 2在应用程序向导的第二步中选择“A typical Hello World! application。” 3使用F5快捷键编译程序。 经过以上三个最简单的步骤,一个“Hello,World”程序便制作完毕。此时可以查看在该项目所在的文件夹下,生成了哪些文件,并应了解这些文件的具体用法(二)手工生成应用程序:1在“File”菜单中选择“New”,将新建的类型设置成“Projects”。同时将项目类型设置成“Win32 Application”。 2在应用程序向导的第二步中选择“Empty application。” 3在“New”选择“C+Source”,按照课本上实例3-1的内容输入程序,。 4使用F5快捷键编译程序 经过以上三个最简单的步骤,一个“Hello,World”程序便制作完毕。此时可以查看在该项目所在的文件夹下,生成了哪些文件,并应了解这些文件的具体用法参考代码:#include #include LRESULT CALLBACK WinSunProc( HWND hwnd, / handle to window UINT uMsg, / message identifier WPARAM wParam, / first message parameter LPARAM lParam / second message parameter);int WINAPI WinMain( HINSTANCE hInstance, / handle to current instance HINSTANCE hPrevInstance, / handle to previous instance LPSTR lpCmdLine, / command line int nCmdShow / show state)WNDCLASS wndcls;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.CS_HREDRAW | CS_VREDRAW;RegisterClass(&wndcls);HWND hwnd;hwnd=CreateWindow(Computer2009,桂林电子科技大学应用科技学院,WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);MSG msg;while(GetMessage(&msg,NULL,0,0)TranslateMessage(&msg);DispatchMessage(&msg);return 0;LRESULT CALLBACK WinSunProc( HWND hwnd, / handle to window UINT uMsg, / message identifier WPARAM wParam, / first message parameter LPARAM lParam / second message parameter)switch(uMsg)case WM_CHAR:char szChar20;sprintf(szChar,char is %d,wParam);MessageBox(hwnd,szChar,weixin,0);break;case WM_LBUTTONDOWN:MessageBox(hwnd,mouse clicked,weixin,0);HDC hdc;hdc=GetDC(hwnd);TextOut(hdc,0,50,Widows程序设计实验,strlen(Widows程序设计实验);ReleaseDC(hwnd,hdc);break;case WM_PAINT:HDC hDC;PAINTSTRUCT ps;hDC=BeginPaint(hwnd,&ps);TextOut(hDC,0,0, 程序设计实验,strlen(程序设计实验);EndPaint(hwnd,&ps);break;case WM_CLOSE:if(IDYES=MessageBox(hwnd,是否真的结束?,Compuer,MB_YESNO)DestroyWindow(hwnd);break;case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hwnd,uMsg,wParam,lParam);return 0;五、 思考题1、 Window程序和控制台程序有什么区别?2、 如何添加事件处理?六、常用函数或者结构体参数的定义(详细参见MSDN)HICON LoadIcon( HINSTANCE hInstance, / handle to application instance LPCTSTR lpIconName / name string or resource identifier);HCURSOR LoadCursor( HINSTANCE hInstance, / handle to application instance LPCTSTR lpCursorName / name or resource identifier);表 图标样式ValueDescriptionIDI_APPLICATIONDefault application icon.IDI_ASTERISKSame as IDI_INFORMATION.IDI_ERRORHand-shaped icon.IDI_EXCLAMATIONSame as IDI_WARNING.IDI_HANDSame as IDI_ERROR. IDI_INFORMATIONAsterisk icon.IDI_QUESTIONQuestion
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号