.Net平台技术考试题型:1)单选题5个,15分2)填空题15个,45分3)简答题3个,15分4)程序填题3个,16分5)编程题1个,9分一.填空选择需要掌握的知识要点1)VisualStudio.net的开发环境窗口区是由Web浏览区、方案导航区、输出窗口区、属性窗口区以及其他窗口等组成。组成上述区域的窗口只分为两种类型,一是工具窗口,另一是文档窗口。工具窗口往往可以进行浮动和停靠操作.2)在MFC应用程序框架中,最基本的四种应用程序类型有:单文档、多文档、多顶级文档和基于对话框的应用程序。3)创建一个工程名为Test01的单文档工程,默认产生的类有:CAboutDlg、CTest01App、CTest01Doc、CTest01View和CMainFrame4)创建一个工程名为Test01的多文档工程,默认产生的类有:CAboutDlg、CChildFrame、CMainFrame、CTest01App、CTest01Doc、CTest01View5)创建一个工程名为Test01的基于对话工程,默认产生的类有:CAboutDlg、CTest01App、CTest01Dlg6)创建一个多文档的工程Test02会默认产生两个菜单资源,其ID号默认为:IDR_MAINFRAME(主菜单)和IDR_Test02TYPE(文档子菜单);在工程要获取主菜单对象可以使用代码“m_pMainWnd-GetMenu()”来获取,要使其拥有的子菜单“ID_TEST_MENU”项打勾,需要调用菜单对象拥有的“CheckMenuItem”成员函数来实现,其实现代码是:m_pMainWnd-GetMenu()-CheckMenuItem(ID_TEST_MENU,MF_BYCOMMAND|MF_CHECKED);7)已知存在一个名为“m_bmpTestMenu”的“CBitmap对象,要加载ID号为“IDB_TEST_MENU”的图象,其实现代码是:m_bmpTestMenu.LoadBitmapA(IDB_TEST_MENU);,把该图像显示在子菜单项“ID_TEST_MENU”上,其实现代码是:m_pMainWnd-GetMenu()-SetMenuItemBitmaps(ID_TEST_MENU,MF_BYCOMMAND,&m_bmpTestMenu,&m_bmpTestMenu);8)移除主菜单的实现代码是:m_pMainWnd-SetMenu(NULL);已知创建了ID为“IDR_MENU_POPUP”的菜单资源,要实现在多文档“Test03”工程的鼠标右键动作中通过弹出式菜单的方式显示出来,其实现步骤:定义鼠标右击事件消息响应函数“voidCTest03View::OnRButtonUp(UINTnFlags,CPointpoint)”,把鼠标点坐标转换屏幕坐标“ClientToScreen(&point);”,创建弹出式菜单对象“CMenumenu;menu.LoadMenuA(IDR_MENU_POPUP);”,弹出菜单“CMenu*pPopup=menu.GetSubMenu(0);pPopup-TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);”。9)点击菜单项产生的消息是WM_COMMAND10)对话框由对话框模板和对话框类组成,已知存在一个对话框类“CAddDlg”,其模板ID为“IDD_DIALOG_ADD”,要以模态的方式显示该对话的实现代码是:CAddDlgdlg;dlg.DoModal();要非模态的方式显示该对话框的实现的代码是:CAddDlg*dlg;dlg=newCAddDlg();dlg-Create(IDD_DIALOG_ADD,this);dlg-ShowWindow(SW_SHOW);11)已知对话框中存在一个ID为“IDC_STATIC_SHOW”的静态文本控件,要把它的显示内容改成“早上好!”,其实现代码是:GetDlgItem(IDC_STATIC_SHOW)-SetWindowTextA(早上好!);12)已知对话框中存在一个ID为“IDC_CHANGE_BUTTON”的按钮,通过双击按钮控件,自动产生的点击消息响应成员函数的名称是OnBnClickedChangeButton13)单选按钮中用于分组的属性是“Group”,给某组单选按钮定义控件变量时,只需要给group为“true”的控件添加int类型的变量,通过“BN_CLICKED”来处理逻辑选项14)复选按钮用于多项选择功能,每一个复选按钮控件都定义一个值类型的BOOL变量15)在控件与对应的变量进行数据交互时,用到的函数是UpdateData,把控件中的值传到变量,实现代码是:UpdateData(TRUE);,把变量中值显示在对应的控件上,实现代码是:UpdateData(FALSE);16)组合框用把实现某个功能需要的不同类型的控件包围在一起17)文本编辑框只接收数字需把属性“Number”设置为“True”,按密码方式需把属性“Password”设置为“True”,只显示不接收数据需把属性“ReadOnly”设置为“True”,只显示大写字母需把属性“UpperCase”设置为“True”,当控件中的内容发生变化会产生消息“EN_CHANGE”。18)下拉框控件(ComboBox)中下拉选项可以通过属性“数据”来设置,其中项值通过分号区分,还可以通过调用控件的成员函数“AddString”来添加;Sort属性确定选项是否按字符串大小排序19)下拉框控件(ComboBox)调用SetCurSel设置当前被选中的项;调用ResetContent清空所有的选项;调用GetCurSel获取当前选项的序号;调用DeleteString删除特定项;当前选项发生变化时会产生消息“CBN_SELCHANGE”20)列表控件(ListBox)中的选项通过调用控件的成员函数“AddString”来添加;Sort属性确定选项是否按字符串大小排序;Selection属性常用值有Single(单选)和Multiple(多选)21)列表控件(ListBox)调用SetCurSel设置当前被选中的项;调用ResetContent清空所有的选项;调用GetCurSel获取当前选项的序号;调用DeleteString删除特定项;当前选项发生变化时会产生消息“LBN_SELCHANGE”22)通过向导的方式创建的名为“ShapeAcitveX”的ActiveX控件一般选择“使用MFC静态连接库”,其默认产生的类有ShapeAcitveXApp、ShapeAcitveXCtrl和ShapeAcitveXPropPage。23)在ActiveX控件中添加主窗体对话框,该对话框的属性设置如下:Border为None,Style为Child,SystemMenu为False,Visible为True。自定义的主窗体对象应该定义为ShapeAcitveXCtrl类的对象成员,在该类添加的消息“WM_CREATE”的响应函数“OnCreate(LPCREATESTRUCTlpCreateStruct)”中创建窗体24)获取控件“IDC_PIC_SHOW”的设备上下文的实现代码:CWnd*pWnd=GetDlgItem(IDC_PIC_SHOW);CDC*pDC=pWnd-GetDC();25)创建一个红色的画刷对象并把它设置到指针pDC指向的设备上下文对象中去的实现代码:CBrushbrush(RGB(255,0,0));pDC-SelectObject(&brush);26)创建一个蓝色的画笔对象并把它设置到指针pDC指向的设备上下文对象中去的实现代码:CPen*pPen=newCPen(PS_SOLID,1,RGB(0,0,255));pDC-SelectObject(pPen);27)已知指针pDC指向的设备上下文对象,要在该设备上下文中画一条从点(10,20)到点(150,220)的线段的实现代码:CPointstartPoint(10,20),endPoint(150,220);pDC-MoveTo(startPoint);pDC-LineTo(endPoint);28)已知指针pDC指向的设备上下文对象,要在该设备上下文中画一个左上角点为(10,20)和右下角点为(150,220)的矩形的实现代码:CPointstartPoint(10,20),endPoint(150,220);pDC-Rectangle(startPoint.x,startPoint.y,endPoint.x,endPoint.y);29)ActiveX控件在网页中使用,一般在网页中定义一个OBJECT元素,该元素需要定义的属性有ID,WIDTH,HEIGHT和CLASSID,其中CLASSID的值取,工程中后缀为idl的文件中控件类的uuid的值.30)在vs.net下,MFC应用程序的线程由CWinThread对象表示。一般不需要直接创建CWinThread对象,通过调用AfxBeginThread()函数就会自动创建一个CWinThread对象.31)工作者线程中控制函数型原型:UINTThreadProc(LPVOIDlpParameter);32)让线程调用ExitThread函数,以便强制线程终止运行,其函数原型:VOIDExitThread(DWORDdwExitCode);33)挂起线程调用的函数原型:DWORDSuspendThread(HANDLEhThread);恢复线程调用的函数原型:DWORDResumeThread(HANDLEhThread);34)线程之间的两种通信方式:使用全局变量和使用自定义消息。35)在多媒体API编程中,打开文件设备时首先要判断文件是否存在,假设文件名为filename,其实现代码是:CFileStatusStatus;if(!CFile::GetStatus(Filename,Status))returnFALSE;36)打开文件并播放用到的消息:MCI_OPEN、MCI_PLAY37)暂停播放和停止播放用到的消息:MCI_PAUSE、MCI_STOP38)定位用到的消息:MCI_STATUS、MCI_SEEK39)XML的全称是XtensibleMarkupLanguage,即扩展标记语言40)微软提供了一个XML语法解析器是MSXML.DLL的动态链接库41)XML标记都是大小写敏感42)处理命令的格式:?处理指令名处理指令信息?,例如?XML-stylesheettype=text/xslhref=/yxfqust.xsl?43)XML注释中不能出现连续两个连字符,即“--”44)XML元素属性值必须用引号引着。45)XML所有的标记都必须要有一个相应的结束标记46)初始化COM库的实现代码是:#importmsxml3.dllusingnamespaceMSXML2;CoInitialize(NULL);47)创建XMLDom对象的实现代码:MSXML2::IXMLDOMDocument2PtrpXMLDom;HRESULThr;hr=pXMLDom.CreateInstance(__uuidof(DOMDocument30));if(FAILED(hr)){printf(创建XMLDOM失败!);returnNULL;}48)创建xml声明用到XMLDom对象的createProcessingInstruction成员函数,创建创建注释用到createComment成员函数,创建元素节点用到createElement成员函数,给元素节点添加属性用到createAttribute成员函数,创建创建CDATA节点用到createCDATASection成员函数,创建文档碎片节点用到成员函数