windows编程期末复习题

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

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

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

资源描述

WINDOWS程序设计一.单项选择题1.项目文件的扩展名是【B】。A)exeB)dspC)dswD)cpp2.利用ClassWizard不能【D】。A)建立新类B)进行消息映射C)增加类的成员变量D)插入资源3.当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送【C】消息。A)WM_CHARB)WM_HSCROLLC)WM_VSCROLLD)WM_CHANGE4.以下控件中,【C】没有Caption属性。A)按钮B)组框C)编辑框D)静态文本框5.关于工具栏、菜单和加速键的关系,正确的说法是【C】。A)工具按钮与菜单必须一一对应B)工具栏与加速键一一对应C)工具按钮不必与菜单一一对应D)菜单与加速键一一对应6.所有的控件都是【B】类的派生类,都可以作为一个特殊的窗口来处理。A)CViewB)CWndC)CWindowD)CDialog7.使用GetDC()获取的设备上下文在退出时,必须调用【A】释放设备上下文。A)ReleaseDC()B)deleteC)DeleteDC()D)Detach()8.希望菜单无效,应该用CCmdUI类的【A】成员函数。A)EnableB)SetRadioC)SetCheckD)SetText9.希望菜单前出现一个圆点,应该用CCmdUI类的【B】成员函数。A)EnableB)SetRadioC)SetCheckD)SetText10.下面【A】不是MFC设备环境类CDC类的派生类。A)GDIB)CPaintDCC)CClientDCD)CWindowDC11.使用【A】通用对话框类可用打开文件。A)CFileDialogB)CPrintDialogC)CColorDialogD)CFontDialog12.列表框CListBox类的成员函数【A】用来向列表框增加列表项,成员函数【C】用来清除列表项所有项目,成员函数【F】用来返回列表框的列表项总数。A)AddString()B)DeleteString()C)ResetContent()D)FindString()E)GetCurSel()F)GetCount()13.【C】包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由程序来处理消息;【D】用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。A)系统消息B)用户消息C)输入消息D)控制消息14.常用的CButton类的成员函数中:【A】获得一个按钮控件的选中、选择和聚焦状态;【D】得到一个按钮的选中状态;【C】设置一个按钮的选中状态。A)GetState()B)SetState()C)SetCheck()D)GetCheck()E)GetButtonStyle()15.用应用程序向导创建MFCAppWizard(exe)应选择【B】选项卡。A)FilesB)ProjectC)WorkspacessD)OtherDocuments16.运行程序的快捷键是【A】。A)Ctrl+F5B)F7C)Ctrl+F7D)F517.设置和取消断点的快捷键都是【A】。A)F9B)F5C)F11D)F1018.在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属性对话框中的【B】。A)SeparatorB)Pop-upC)InactiveD)Grayed19.下列【C】不是MFC消息映射机制有关的宏。A)DECLARE_MESSAGE_MAPB)BEGIN_MESSAGE_MAPC)DECLARE_SERIALD)END_MESSAGE_MAP20.要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必须设置工具栏的风格为【B】。A)CBRS_TOOLTIPSB)CBRS_FLYBYC)CBRS_NOALIGND)WS_VISIBLE21.对话框的功能被封装在【B】类中。A)CWndB)CDialogC)CObjectD)CCmdTarget22.滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数【B】代表设置滑动块位置;【C】代表设置刻度线位置,一次只能设置一个刻度线,用于手动设置刻度线;【F】代表设置刻度线的疏密程度,配合Autoticks属性使用,每隔一定单位自动显示一条刻度线。A)SetRange()B)SetPos()C)SetTic()D)SetMark()E)SetPoint()F)SetTicFreq()23.所有的文档类都派生于【C】,所有的视图类都派生于【A】。A)CViewB)CWindowC)CDocumentD)CFormView24.滚动条类CScrollBar的成员函数规定了滚动条的操作。设置滚动条的范围使用【C】函数,设置滚动条的位置使用【E】函数,获得滚动块的当前位置使用【F】函数。A)SetPos()B)SetRange()C)SetScrollRange()D)GetPos()E)SetScrollPos()F)GetScrollRange()F)GetScrollPos()25.要将模式对话框在屏幕上显示需要用到【B】。A)CreateB)DoModalC)OnOKD)构造函数26.类CButton不是下列【D】控件对应的类。A)命令按钮B)单选按钮C)复选框D)静态文本框27.根据对话框的行为性质,对话框可以分为两类【B】A)对话框资源和对话框类B)模式对话框和非模式对话框C)对话框资源和对话框模板D)消息对话框和模式对话框二.填空题1、用户可以通过项目工作区窗口的【ResourceView】视图来查看资源。2、一个单文档的MFC应用程序框架一般包括5个类:应用程序类、框架窗口类、【视图类】【文档类】和文档模板类。3、改变菜单项文本是使用CCmdUI类的【SetText】成员函数。4、每个控件最多只能关联Control和Value类型成员变量各【1】个。5、MCF的【CProgressCtrl】类封装了进度条控件的各种操作,该类的成员函数【SetRange】用来设置进度条的范围。6、与DOS字符方式下的输出不同,Windows是按【图形】方式输出的。7、Windows是一个基于【消息】的消息驱动系统。8、项目工作区文件的扩展名是【dsw】。9、【MessageBox】函数弹出一个小的对话框向用户显示短信息,并将用户最终的选择返回给调用者。10、弹出快捷菜单使用的是CMenu类的【TrackPopupMenu】函数。11、可以利用CGdiObject类的成员函数【CreateStockObject】将GDI对象设置成指定的库存对象。12、一个旋转按钮控件通常是一个相伴的控件一起使用的,该控件的Tab键次序必须【小于】旋转按钮。13、调用【Create】成员函数创建动态分割窗口,而静态分割窗口是调用【CreateStatic】成员函数创建的。14、在通常情况下,视图派生类的成员函数中通过调用【GetDocument】函数得到当前文档对象的指针。三.简答题简答题1、简述创建自定义工具栏的基本步骤。(1)创建工具栏资源;(2)构建一个CToolBar对象;(3)调用CToolBar::Create或CreateEx函数创建工具栏窗口;(4)调用CToolBar::LoadToolBar载入工具栏资源。2、运行程序后单击鼠标右键弹出对话框提示“您按下了鼠标右键”对话框。简要说明设计步骤。(1)新建基于单文档的应用程序;(2)用类向导映射鼠标右键消息;(3)在消息函数中添加代码:MessageBox(“您按下了鼠标右键”);3、简述采用MFC方法编程时,显示一个DDB位图的步骤。(1)声明一个CBitmap类的对象,使用LoadBitmap函数将位数装入内存。(2)声明一个CDC类的对象,使用CreateCompatibleDC函数创建一个与显示设备环境兼容的内存设备环境。(3)使用CDC::SelectObject函数将位图对象选入设备环境中,并保存原来设备环境的指针。4、如何给组合框添加初始的列表项?可以通过组合框控件属性对话框的Data选项卡给组合框添加初始的列表项。五、程序设计题1.“乘法器”示例程序,使用者在“乘数”或者“被乘数”编辑框中输入数字的时候,程序可以随时计算乘法的结果(1)初始化结果编辑框BOOLCMy9_6Dlg::OnInitDialog(){CDialog::OnInitDialog();……//TODO:AddextrainitializationhereUpdateData(TRUE);inti=m_A*m_B;m_Result.Format(%d,i);UpdateData(FALSE);returnTRUE;}(2)当编辑框中的内容发生改变时,会产生EN_CHANGE消息,需要为乘数与被乘数两个编辑框响应该消息voidCMy9_6Dlg::OnChangeEditMul1(){UpdateData(TRUE);inti=m_A*m_B;m_Result.Format(%d,i);UpdateData(FALSE);}voidCMy9_6Dlg::OnChangeEditMul2(){UpdateData(TRUE);inti=m_A*m_B;m_Result.Format(%d,i);UpdateData(FALSE);}(3)响应Reset按钮的消息voidCMy9_6Dlg::OnReset(){m_A=0;m_B=0;inti=m_A*m_B;m_Result.Format(%d,i);UpdateData(FALSE);}2.编写可以在用户区中绘制一个矩形的应用程序,在按下鼠标左键后,这个矩形会把它的左上角移动到鼠标位置;而当按下Shift键的同时,按下鼠标左键,则矩形恢复原位置(1)voidCStestView::OnDraw(CDC*pDC){CStestDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);pDC-Rectangle(m_rectRec);}(2)voidCStestView::OnLButtonDown(UINTnFlags,CPointpoint){if(nFlags==MK_LBUTTON){m_bKey=TRUE;m_rectRec.top=point.y;m_rectRec.right=point.x+80;m_rectRec.left=point.x;m_rectRec.bottom=point.y+80;}if(nFlags==MK_LBUTTON+MK_SHIFT){m_bKey=TRUE;m_rectRec.top=102;m_rectRec.right=438;m_rectRec.bottom=182;m_rectRec.left=358;}Invalidate(true);CView::OnLButtonDown(nFlags,point);}3.编写一个windows应用程序,要求在窗口的用户区中绘制一个圆,当单击鼠标左键时,该圆放大,单击右键时,该圆缩小,按下Ctrl键的同时移动鼠标,则该圆会随鼠标的移动而移动。(1)voidCStestView::OnDraw(CDC*pDC){CStestDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);pDC-Ellipse(m_rectRec);}(2)voidCStestView::OnLButtonDown(UINTnFlags,CPointpoint){if(nFlags==MK_LBUTTON){m_bKey=TRUE;m_rectRec.top-=25;m_rectRec.right+=25;m_rectRec.bottom+=25;m_rectRec.left-=25;}Invalidate(true);InvalidateRect(m_rectRec);CVie

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

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

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

×
保存成功