资源描述:
《Windows高级编程a资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、江西师范大学2010—2011学年第一学期期末考试课程名称:Windows高级编程A卷120分钟题号一二三四五六七合计满分20303020100实得分班级-------------------学号--------------姓名-----------------评阅人得分一、名词解释(共20分,每题2分)1、窗口2、MSDN3、消息4、ACTIVEX控件5、SDK6、句柄7、API8、RTTI9、MFC10、GDI命题教师(签字)试做教师(签字)系、室主任(签字)第8页共8页评阅人得分二、简答(共30分,每题10分)1、Microsof
2、t将对话框分成了哪两类?其区别在哪里?1、什么是动态链接库,它有什么优点?第8页共8页1、请说明MFC程序的运行过程。评阅人得分三、分析题(共30分,每小题10分)下面是一个简单的Windows程序,该程序会生成一个Windows窗口,所生成的窗口会在客户区内显示字符串“Windows”,并能够响应鼠标左键单击事件。如果用户按下鼠标左键,单击窗口的客户区,将会弹出一个消息框。该消息框的标题为“Hello”,消息内容为“World”,并且只有一个确定按钮。请先阅读该程序代码,然后回答相关问题。#includeLRES
3、ULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){HWNDhWnd;MSGmsg;charlpszClassName[]="Windows";charszTitle[]="Hello";第8页共8页WNDCLASSwc;wc.style=CS_HREDRAW
4、CS_VREDRAW;wc.lpfnWndProc=(WNDPROC)
5、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=CreateWindow(lpszC
6、lassName,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)){TranslateMessage(&msg);DispatchMessage(&msg);}}returnmsg.wParam;}LRE
7、SULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){charszHello[]="Windows";HDChdc;PAINTSTRUCTps;RECTrt;switch(message){……………………caseWM_DESTROY:第8页共8页PostQuitMessage(0);break;default:returnDefWindowProc(hWnd,message,wParam,lParam);}return0;}(1)这是一个Windows程
8、序,请详细解释这个程序的工作过程。(10分)(2)按照题目要求将省略号处的代码补充完整。(10分)第8页共8页(1)解释程序中出现的下列标识符的含义。(10分)DefWindowProcCALLBACKHDCWM_DESTROYRECT评阅人得分四、编程题(共20分)1、下图是一个MFC的应用程序,窗口菜单项(ID_APP_ABOUT)的caption值为“计算”;如果单击该菜单项,将弹出一个模式Dialog,其上有三个编辑框(从左至右依次为:IDC_EDIT1、IDC_EDIT2、IDC_EDIT3)和一个“结果”按钮(IDC_BUT
9、TON1),程序将直接计算两个编辑框(IDC_EDIT1、IDC_EDIT2)中加数的和,并在最后一个编辑框(IDC_EDIT3)中显示结果;两个编辑框都只允许输入100以内的整数;如果数据校验未通过,将不