资源描述:
《Windows高级编程b资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、江西师范大学2010—2011学年第一学期期末考试课程名称:Windows高级编程A卷120分钟题号一二三四五六七合计满分20303020100实得分班级-------------------学号--------------姓名-----------------评阅人得分一、名词解释(共20分,每题2分)1、函数重载2、虚函数3、消息映射 4、SDI5、MDI6、回调函数7、动态创建8、宏定义9、AppWizard10、CObject命题教师(签字)试做教师(签字)系、室主任(签字)第7页共7页评阅人得分二、简答(共30分,每题10分)1
2、、重载包括哪些形式的重载?MFC是如何判断是否重载?2、文档/视结构包含哪些要素?分别实现了什么功能?第7页共7页1、写出MFC程序的一般运行流程。评阅人得分三、分析题(共30分,每小题10分)下面是一个简单的Windows程序,该程序会生成一个Windows窗口,所生成的窗口会在客户区内显示字符串“Windows”,并能够响应鼠标左键单击事件。如果用户按下鼠标左键,单击窗口的客户区,将会弹出一个消息框。该消息框的标题为“Hello”,消息内容为“World”,并且只有一个确定按钮。请先阅读该程序代码,然后回答相关问题。#include<
3、windows.h>LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){HWNDhWnd;MSGmsg;charlpszClassName[]="Windows";charszTitle[]="Hello";第7页共7页WNDCLASSwc;wc.style=CS_HREDRAW
4、CS_VREDRAW;wc.lpfnWndP
5、roc=(WNDPROC)WndProc;wc.cbClsExtra=0;wc.cbWndExtra=0;wc.hInstance=hInstance;wc.hIcon=LoadIcon(hInstance,NULL);wc.hCursor=LoadCursor(NULL,IDC_ARROW);wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);wc.lpszMenuName=NULL;wc.lpszClassName=lpszClassName;RegisterClass(&wc);hWnd=Create
6、Window(lpszClassName,szTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);while(GetMessage(&msg,NULL,0,0)){if(GetMessage(&msg,NULL,0,0)){………………}}returnmsg.wParam;}LRESULTCALLBACKWndProc(HWNDhWnd
7、,UINTmessage,WPARAMwParam,LPARAMlParam){charszHello[]="Windows";HDChdc;PAINTSTRUCTps;RECTrt;switch(message){……………………caseWM_DESTROY:PostQuitMessage(0);第7页共7页break;default:returnDefWindowProc(hWnd,message,wParam,lParam);}return0;}(1)这是一个Windows程序,请详细解释这个程序的工作过程。(10分)(2)按照题目
8、要求将省略号处的代码补充完整。(14分)第7页共7页(1)解释程序中出现的下列字符的含义。(6分)MSGRegisterClasswParam评阅人得分四、编程题(共20分)程序菜单包括exit、small、medium和large,其ID分别为IDM_EXIT、IDM_SMALL、IDM_MEDIUM和IDM_LARGE,实现退出与绘制大小分别不同矩形功能。1、使用SWICH/CASE循环写出消息处理过程相关代码。(只需要写出关键代码)第7页共7页2、自行设计结构,取代SWICH/CASE循环实现消息处理。(只需要写出关键代码)第7页共
9、7页