对话框应用程序课件_第1页
对话框应用程序课件_第2页
对话框应用程序课件_第3页
对话框应用程序课件_第4页
对话框应用程序课件_第5页
已阅读5页,还剩181页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章对话框应用程序几种基本对话框的原理和实现方法,以及实用对话框程序的设计技巧第二章对话框应用程序几种基本对话框的原理和实1对话框的两种形式示例1、模态对话框2、非模态对话框创建模态对话框后,应用程序只会响应该对话框的消息,直到收到结束模态对话框消息后,才会把控制权交还给应用程序,转而执行其它的消息。创建非模态对话框后,应用程序不会垄断用户的输入,仍然可以响应其它窗口的消息。对话框的两种形式示例创建模态对话框后,应用程序只会22.1模态对话框1、windows是基于消息驱动机制的;2、模态对话框产生后会屏蔽其它窗体消息;3、应用程序只会响应当前模态对话框的消息,直至被关闭;4、大多数窗口都属于该类型。示例2.1模态对话框1、windows是基于消息驱动机制的;3(1)新建项目(1)新建项目4(2)创建基于对话框的应用程序(2)创建基于对话框的应用程序5(3)通过资源视图打开主界面编辑(3)通过资源视图打开主界面编辑6(4)添加按钮,ID号为:IDC_CREATE_DIALOG(4)添加按钮,ID号为:IDC_CREATE_DIALOG7(5)添加新对话框,ID号为:

IDD_MODAL_DIALOG(5)添加新对话框,ID号为:

IDD_MODAL_DIAL8(6)为新对话框添加类(6)为新对话框添加类9(7)新类名:CMyModalDialog(7)新类名:CMyModalDialog10(8)回到主界面,添加按钮的消息响应(8)回到主界面,添加按钮的消息响应11(9)消息类型、类列表(9)消息类型、类列表12(10)添加代码(10)添加代码13(11)编译结果(11)编译结果14(12)解决方案:添加头文件包含(12)解决方案:添加头文件包含15(13)再次编译:正确(13)再次编译:正确16(14)执行结果:点击按钮,出现新对话框(为模态对话框)(14)执行结果:点击按钮,出现新对话框(为模态对话框)17(15)结果及分析左对话框无法接受用户输入,直到关闭右边模态对话框原因:CMyModalDialogdlg; dlg.DoModal();//创建模态对话框(15)结果及分析左对话框无法接受用户输入,直到关闭右边模态18本节小结模态对话框的特性创建一个简单模态对话框的步骤本节小结模态对话框的特性192.2非模态对话框非模态对话框窗口打开时,可以接受其它窗口消息此类对话框较少示例2.2非模态对话框非模态对话框窗口打开时,可以接受其它窗口201、创建一个基于对话框的应用程序,并在主界面上添加一个按钮1、创建一个基于对话框的应用程序,并在主界面上添加一个按钮212、添加一个新对话框,并添加新类:

CMyNoModalDialog2、添加一个新对话框,并添加新类:

CMyNoModalDi223、为主界面上的按钮添加消息响应3、为主界面上的按钮添加消息响应234、执行结果:焦点可回到父窗口,从而创建多个非模态对话框4、执行结果:焦点可回到父窗口,从而创建多个非模态对话框245、结果及分析焦点没有停留在子窗口上,说明创建了一个非模态对话框窗口代码分析//定义对话框对象指针CMyNoModalDialog*pDlg=newCMyNoModalDialog();//创建非模态对话框 pDlg->Create(IDD_DIALOG1,this);//显示对话框 pDlg->ShowWindow(SW_SHOW);5、结果及分析焦点没有停留在子窗口上,说明创建了一个非模态对25CDialog类的成员函数:Create;原型BOOlCreate(LPCTSTRlpszTemplateName,CWnd*pParentWnd=NULL);BOOLCreate(UINTnIDTemplate,CWnd*pParentWnd=NULL);//指定对话框模板的名称//也可以是对话框的ID号//第二个参数指定了对话框的父窗口此后,还要调用ShowWindow来显示对话框5、结果及分析(续)CDialog类的成员函数:Create;原型//指定对话框26

//定义对话框对象指针CMyNoModalDialog*pDlg=newCMyNoModalDialog();//创建非模态对话框 pDlg->Create(IDD_DIALOG1,this);//显示对话框 pDlg->ShowWindow(SW_SHOW);定义为指针:在堆上分配内存,与整个程序的生命周期是一致的,在程序结束时才会被释放;或者定义一个类的全局变量来控制无模式对话框的打开;若定义为局部变量,则无法创建。示例

5、结果及分析(续) //定义对话框对象指针定义为指针:在堆上分275、结果及分析(续)修改后的代码CMyNoModalDialogdlg;dlg.Create(IDD_DIALOG1,this);dlg.ShowWindow(SW_SHOW);5、结果及分析(续)修改后的代码285、结果及分析(续)

修改后的结果5、结果及分析(续)

修改后的结果295、结果及分析(续)

修改后的结果结果:点击按钮创建非模态对话框窗口后闪烁一下后就立即关闭了5、结果及分析(续)

修改后的结果结果:点击按钮创建非模态对30本节小结非模态对话框的特性创建一个非模态对话框的步骤及注意事项本节小结非模态对话框的特性312.3属性对话框属性对话框是一种比较特殊的对话框模式,它可以把多个独立的对话框有效合理地组织起来示例2.3属性对话框属性对话框是一种比较特殊的对话框模式,它可32第2章对话框应用程序课件33实例效果图及实现步骤实例效果图及实现步骤341、创建一个基于对话框的项目1、创建一个基于对话框的项目352、解决方案资源管理器-》添加-》资源2、解决方案资源管理器-》添加-》资源363、添加资源对话框3、添加资源对话框374、属性页资源(大、中、小)//出现在对话框中,因此属性页是对话框的一种形式,可当做对话框来处理。4、属性页资源(大、中、小)//出现在对话框中,因此属性页是385、添加三个属性页资源5、添加三个属性页资源396、添加基于CPropertyPage类的新类6、添加基于CPropertyPage类的新类407、添加基于CPropertySheet类的CMySheet类7、添加基于CPropertySheet类的CMySheet417、添加基于CPropertySheet类的CMySheet类(续)7、添加基于CPropertySheet类的CMySheet427、添加基于CPropertySheet类的CMySheet类(续)7、添加基于CPropertySheet类的CMySheet438、在CMySheet中定义3个属性页//MySheet.h文件中添加8、在CMySheet中定义3个属性页//MySheet.h449、在CMySheet构造函数中添加3个属性页//在MySheet.cpp文件中,构造函数是与类同名的函数9、在CMySheet构造函数中添加3个属性页//在MySh4510、显示属性对话框//在应用程序实现文件的InitInstance()函数中添加10、显示属性对话框//在应用程序实现文件的InitInst4611、运行效果11、运行效果47本节小结属性对话框的创建注意事项:添加资源的方法设置资源ID的方法为资源添加类的方法添加新类的方法在头文件中定义变量和在实现文件的构造函数中初始化变量的方法本节小结属性对话框的创建482.4对话框设计技巧1、网格和参考线2、对齐和排列3、设置控件逻辑顺序2.4对话框设计技巧1、网格和参考线491、网格设置(默认情况下无网格)1、网格设置(默认情况下无网格)501、网格设置(续)1、网格设置(续)511、网格设置(续)1、网格设置(续)521、网格设置(续:设置后的结果)1、网格设置(续:设置后的结果)532、对齐和排列(ctrl键选中)2、对齐和排列(ctrl键选中)542、对齐和排列(续)2、对齐和排列(续)553、设置控件逻辑顺序控件的逻辑顺序决定着软件中需要使用TAB键进行焦点切换时的顺序排列。例如3、设置控件逻辑顺序控件的逻辑顺序决定着软件中需要使用TAB563、设置控件逻辑顺序(续)3、设置控件逻辑顺序(续)573、设置控件逻辑顺序(续)//按照添加的顺序3、设置控件逻辑顺序(续)//按照添加的顺序583、设置控件逻辑顺序(续):

改变顺序的方法//原始顺序//鼠标在某个需要改变顺序的控件上单击,即可。此图为改变后的顺序3、设置控件逻辑顺序(续):

改变顺序的方法//原始顺序//59本节小结1、参考线和网格的设置2、控件对齐和排列3、设置控件逻辑顺序本节小结1、参考线和网格的设置602.5通用对话框通用对话框是系统提供的一组比较常见的对话框模板,例如“打开”、“另存为”等;编写代码实现通用对话框示例2.5通用对话框通用对话框是系统提供的一组比较常见的对话框611、创建一个基于对话框的应用程序,添加控件如图所示1、创建一个基于对话框的应用程序,添加控件如图所示621、(续)为第一个编辑框定义变量CStringszSigOpenPath为第二个编辑框定义变量CStringszSigSavePath为列表框定义变量CListBox

PathList1、(续)为第一个编辑框定义变量CStringszSigO632、打开对话框“单选”对应代码//定义“打开”对话框

CFileDialogdlg(TRUE); if(dlg.DoModal()==IDOK) {//取得文件路径全名//szSigOpenPath是CString类型,跟第一个编辑框相关联

this->szSigOpenPath=dlg.GetPathName();//更新界面显示

this->UpdateData(FALSE); } 2、打开对话框“单选”对应代码//定义“打开”对话框643、另存为代码//定义“另存为”对话框

CFileDialogdlg(FALSE); if(dlg.DoModal()==IDOK) {//取得文件路径全名//szSigSavePath是CString型,与第二个编辑框关联

this->szSigSavePath=dlg.GetPathName();//更新界面显示

this->UpdateData(FALSE); } 3、另存为代码//定义“另存为”对话框654、过滤器+多选代码//设置过滤器,只能选择*.exe或者*.txt类型的文件

staticWCHARszFilter[]=L"可执行文件(*.exe)|*.exe|文本文件(*.txt)|*.txt||";//设置OFN_ALLOWMULTISELECT标记,支持多选

CFileDialogdlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,szFilter); if(dlg.DoModal()==IDOK) {//清空列表框

this->PathList.ResetContent();//取得所选择的第一个文件定位信息。

POSITIONpos=dlg.GetStartPosition(); while(pos)//取得路径全名并添加到列表框

this->PathList.AddString(dlg.GetNextPathName(pos)); }4、过滤器+多选代码//设置过滤器,只能选择*.exe或者665、运行效果图5、运行效果图672.5.2通用“字体”对话框通过“字体”对话框可用来设置字体的大小、粗细、正斜、颜色、类型等例如编写代码设计自己的“字体”对话框2.5.2通用“字体”对话框通过“字体”对话框可用来设置字681、创建一个基于对话框的应用程序添加两个控件:(1)组框,标题为“预览”(2)按钮,“设置”1、创建一个基于对话框的应用程序添加两个控件:692、在对应的dlg.h文件中添加如下两个变量//保存设置的字体颜色和字体属性2、在对应的dlg.h文件中添加如下两个变量//保存设置的字703、添加“设置”按钮的响应3、添加“设置”按钮的响应713、(续)消息类型、类列表3、(续)消息类型、类列表724、添加代码(p23)4、添加代码(p23)735、在OnPaint函数中定义重绘代码//在dlg.cpp文件中找到OnPaint函数,在对应的位置添加代码5、在OnPaint函数中定义重绘代码//在dlg.cpp文746、运行效果(1)6、运行效果(1)756、运行效果(2)6、运行效果(2)766、运行效果(3)6、运行效果(3)772.5.3通用“颜色”对话框可提供简单的调色面板,供用户选择在很多应用程序中都可见编写代码实现之2.5.3通用“颜色”对话框可提供简单的调色面板,供用户选781、创建对话框应用程序,并添加控件1、创建对话框应用程序,并添加控件792、定义成员变量2、定义成员变量802、定义成员变量(续)2、定义成员变量(续)812、(续)同样的方法设置第二个编辑框的成员变量2、(续)同样的方法设置第二个编辑框的成员变量822、(续)同样的方法设置第三个编辑框的成员变量2、(续)同样的方法设置第三个编辑框的成员变量833、直接在dlg.h文件中定义变量//定义绘制指定颜色的区域3、直接在dlg.h文件中定义变量//定义绘制指定颜色的区域844、“设置”按钮的消息响应4、“设置”按钮的消息响应855、OnPaint函数中定义重绘代码5、OnPaint函数中定义重绘代码866、OnInitDialog函数中添加额外代码BOOLCex253Dlg::OnInitDialog(){ ……

//TODO:在此添加额外的初始化代码

this->r=this->g=this->b=255; this->UpdateData(FALSE); this->ColorShowRect.left=147; this->ColorShowRect.top=30; this->ColorShowRect.right=245; this->ColorShowRect.bottom=114; returnTRUE;}6、OnInitDialog函数中添加额外代码BOOLC877、对每个编辑框添加事件voidCex253Dlg::OnEnChangeEdit1(){ this->UpdateData(); this->Invalidate();}voidCex253Dlg::OnEnChangeEdit2(){ ……}voidCex253Dlg::OnEnChangeEdit3(){ ……}7、对每个编辑框添加事件voidCex253Dlg::On888、运行初始界面8、运行初始界面899、点击“设置”后出现颜色对话框9、点击“设置”后出现颜色对话框9010、设置后的结果10、设置后的结果91本节小结1、关联控件和变量2、MFC定义的常见类的使用本节小结1、关联控件和变量92本章总结1、两种基本对话框的类型、原理、实现方法2、属性对话框的实现3、对话框设计技巧4、通用对话框的设计课外练习:编程理解模态、非模态对话框的区别;编程实现属性对话框和通用对话框,注意使用对话框的设计技巧。本章总结1、两种基本对话框的类型、原理、实现方法93第二章对话框应用程序几种基本对话框的原理和实现方法,以及实用对话框程序的设计技巧第二章对话框应用程序几种基本对话框的原理和实94对话框的两种形式示例1、模态对话框2、非模态对话框创建模态对话框后,应用程序只会响应该对话框的消息,直到收到结束模态对话框消息后,才会把控制权交还给应用程序,转而执行其它的消息。创建非模态对话框后,应用程序不会垄断用户的输入,仍然可以响应其它窗口的消息。对话框的两种形式示例创建模态对话框后,应用程序只会952.1模态对话框1、windows是基于消息驱动机制的;2、模态对话框产生后会屏蔽其它窗体消息;3、应用程序只会响应当前模态对话框的消息,直至被关闭;4、大多数窗口都属于该类型。示例2.1模态对话框1、windows是基于消息驱动机制的;96(1)新建项目(1)新建项目97(2)创建基于对话框的应用程序(2)创建基于对话框的应用程序98(3)通过资源视图打开主界面编辑(3)通过资源视图打开主界面编辑99(4)添加按钮,ID号为:IDC_CREATE_DIALOG(4)添加按钮,ID号为:IDC_CREATE_DIALOG100(5)添加新对话框,ID号为:

IDD_MODAL_DIALOG(5)添加新对话框,ID号为:

IDD_MODAL_DIAL101(6)为新对话框添加类(6)为新对话框添加类102(7)新类名:CMyModalDialog(7)新类名:CMyModalDialog103(8)回到主界面,添加按钮的消息响应(8)回到主界面,添加按钮的消息响应104(9)消息类型、类列表(9)消息类型、类列表105(10)添加代码(10)添加代码106(11)编译结果(11)编译结果107(12)解决方案:添加头文件包含(12)解决方案:添加头文件包含108(13)再次编译:正确(13)再次编译:正确109(14)执行结果:点击按钮,出现新对话框(为模态对话框)(14)执行结果:点击按钮,出现新对话框(为模态对话框)110(15)结果及分析左对话框无法接受用户输入,直到关闭右边模态对话框原因:CMyModalDialogdlg; dlg.DoModal();//创建模态对话框(15)结果及分析左对话框无法接受用户输入,直到关闭右边模态111本节小结模态对话框的特性创建一个简单模态对话框的步骤本节小结模态对话框的特性1122.2非模态对话框非模态对话框窗口打开时,可以接受其它窗口消息此类对话框较少示例2.2非模态对话框非模态对话框窗口打开时,可以接受其它窗口1131、创建一个基于对话框的应用程序,并在主界面上添加一个按钮1、创建一个基于对话框的应用程序,并在主界面上添加一个按钮1142、添加一个新对话框,并添加新类:

CMyNoModalDialog2、添加一个新对话框,并添加新类:

CMyNoModalDi1153、为主界面上的按钮添加消息响应3、为主界面上的按钮添加消息响应1164、执行结果:焦点可回到父窗口,从而创建多个非模态对话框4、执行结果:焦点可回到父窗口,从而创建多个非模态对话框1175、结果及分析焦点没有停留在子窗口上,说明创建了一个非模态对话框窗口代码分析//定义对话框对象指针CMyNoModalDialog*pDlg=newCMyNoModalDialog();//创建非模态对话框 pDlg->Create(IDD_DIALOG1,this);//显示对话框 pDlg->ShowWindow(SW_SHOW);5、结果及分析焦点没有停留在子窗口上,说明创建了一个非模态对118CDialog类的成员函数:Create;原型BOOlCreate(LPCTSTRlpszTemplateName,CWnd*pParentWnd=NULL);BOOLCreate(UINTnIDTemplate,CWnd*pParentWnd=NULL);//指定对话框模板的名称//也可以是对话框的ID号//第二个参数指定了对话框的父窗口此后,还要调用ShowWindow来显示对话框5、结果及分析(续)CDialog类的成员函数:Create;原型//指定对话框119

//定义对话框对象指针CMyNoModalDialog*pDlg=newCMyNoModalDialog();//创建非模态对话框 pDlg->Create(IDD_DIALOG1,this);//显示对话框 pDlg->ShowWindow(SW_SHOW);定义为指针:在堆上分配内存,与整个程序的生命周期是一致的,在程序结束时才会被释放;或者定义一个类的全局变量来控制无模式对话框的打开;若定义为局部变量,则无法创建。示例

5、结果及分析(续) //定义对话框对象指针定义为指针:在堆上分1205、结果及分析(续)修改后的代码CMyNoModalDialogdlg;dlg.Create(IDD_DIALOG1,this);dlg.ShowWindow(SW_SHOW);5、结果及分析(续)修改后的代码1215、结果及分析(续)

修改后的结果5、结果及分析(续)

修改后的结果1225、结果及分析(续)

修改后的结果结果:点击按钮创建非模态对话框窗口后闪烁一下后就立即关闭了5、结果及分析(续)

修改后的结果结果:点击按钮创建非模态对123本节小结非模态对话框的特性创建一个非模态对话框的步骤及注意事项本节小结非模态对话框的特性1242.3属性对话框属性对话框是一种比较特殊的对话框模式,它可以把多个独立的对话框有效合理地组织起来示例2.3属性对话框属性对话框是一种比较特殊的对话框模式,它可125第2章对话框应用程序课件126实例效果图及实现步骤实例效果图及实现步骤1271、创建一个基于对话框的项目1、创建一个基于对话框的项目1282、解决方案资源管理器-》添加-》资源2、解决方案资源管理器-》添加-》资源1293、添加资源对话框3、添加资源对话框1304、属性页资源(大、中、小)//出现在对话框中,因此属性页是对话框的一种形式,可当做对话框来处理。4、属性页资源(大、中、小)//出现在对话框中,因此属性页是1315、添加三个属性页资源5、添加三个属性页资源1326、添加基于CPropertyPage类的新类6、添加基于CPropertyPage类的新类1337、添加基于CPropertySheet类的CMySheet类7、添加基于CPropertySheet类的CMySheet1347、添加基于CPropertySheet类的CMySheet类(续)7、添加基于CPropertySheet类的CMySheet1357、添加基于CPropertySheet类的CMySheet类(续)7、添加基于CPropertySheet类的CMySheet1368、在CMySheet中定义3个属性页//MySheet.h文件中添加8、在CMySheet中定义3个属性页//MySheet.h1379、在CMySheet构造函数中添加3个属性页//在MySheet.cpp文件中,构造函数是与类同名的函数9、在CMySheet构造函数中添加3个属性页//在MySh13810、显示属性对话框//在应用程序实现文件的InitInstance()函数中添加10、显示属性对话框//在应用程序实现文件的InitInst13911、运行效果11、运行效果140本节小结属性对话框的创建注意事项:添加资源的方法设置资源ID的方法为资源添加类的方法添加新类的方法在头文件中定义变量和在实现文件的构造函数中初始化变量的方法本节小结属性对话框的创建1412.4对话框设计技巧1、网格和参考线2、对齐和排列3、设置控件逻辑顺序2.4对话框设计技巧1、网格和参考线1421、网格设置(默认情况下无网格)1、网格设置(默认情况下无网格)1431、网格设置(续)1、网格设置(续)1441、网格设置(续)1、网格设置(续)1451、网格设置(续:设置后的结果)1、网格设置(续:设置后的结果)1462、对齐和排列(ctrl键选中)2、对齐和排列(ctrl键选中)1472、对齐和排列(续)2、对齐和排列(续)1483、设置控件逻辑顺序控件的逻辑顺序决定着软件中需要使用TAB键进行焦点切换时的顺序排列。例如3、设置控件逻辑顺序控件的逻辑顺序决定着软件中需要使用TAB1493、设置控件逻辑顺序(续)3、设置控件逻辑顺序(续)1503、设置控件逻辑顺序(续)//按照添加的顺序3、设置控件逻辑顺序(续)//按照添加的顺序1513、设置控件逻辑顺序(续):

改变顺序的方法//原始顺序//鼠标在某个需要改变顺序的控件上单击,即可。此图为改变后的顺序3、设置控件逻辑顺序(续):

改变顺序的方法//原始顺序//152本节小结1、参考线和网格的设置2、控件对齐和排列3、设置控件逻辑顺序本节小结1、参考线和网格的设置1532.5通用对话框通用对话框是系统提供的一组比较常见的对话框模板,例如“打开”、“另存为”等;编写代码实现通用对话框示例2.5通用对话框通用对话框是系统提供的一组比较常见的对话框1541、创建一个基于对话框的应用程序,添加控件如图所示1、创建一个基于对话框的应用程序,添加控件如图所示1551、(续)为第一个编辑框定义变量CStringszSigOpenPath为第二个编辑框定义变量CStringszSigSavePath为列表框定义变量CListBox

PathList1、(续)为第一个编辑框定义变量CStringszSigO1562、打开对话框“单选”对应代码//定义“打开”对话框

CFileDialogdlg(TRUE); if(dlg.DoModal()==IDOK) {//取得文件路径全名//szSigOpenPath是CString类型,跟第一个编辑框相关联

this->szSigOpenPath=dlg.GetPathName();//更新界面显示

this->UpdateData(FALSE); } 2、打开对话框“单选”对应代码//定义“打开”对话框1573、另存为代码//定义“另存为”对话框

CFileDialogdlg(FALSE); if(dlg.DoModal()==IDOK) {//取得文件路径全名//szSigSavePath是CString型,与第二个编辑框关联

this->szSigSavePath=dlg.GetPathName();//更新界面显示

this->UpdateData(FALSE); } 3、另存为代码//定义“另存为”对话框1584、过滤器+多选代码//设置过滤器,只能选择*.exe或者*.txt类型的文件

staticWCHARszFilter[]=L"可执行文件(*.exe)|*.exe|文本文件(*.txt)|*.txt||";//设置OFN_ALLOWMULTISELECT标记,支持多选

CFileDialogdlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,szFilter); if(dlg.DoModal()==IDOK) {//清空列表框

this->PathList.ResetContent();//取得所选择的第一个文件定位信息。

POSITIONpos=dlg.GetStartPosition(); while(pos)//取得路径全名并添加到列表框

this->PathList.AddString(dlg.GetNextPathName(pos)); }4、过滤器+多选代码//设置过滤器,只能选择*.exe或者1595、运行效果图5、运行效果图1602.5.2通用“字体”对话框通过“字体”对话框可用来设置字体的大小、粗细、正斜、颜色、类型等例如编写代码设计自己的“字体”对话框2.5.2通用“字体”对话框通过“字体”对话框可用来设置字1611、创建一个基于对话框的应用程序添加两个控件:(1)组框,标题为“预览”(2)按钮,“设置”1、创建一个基于对话框的应用程序添加两个控件:1622、在对应的dlg.h文件中添加如下两个变量//保存设置的字体颜色和字体属性2、在对应的dlg.h文件中添加如下两个变量//保存设置的字1633、添加“设置”按钮的响应3、添加“设置”按钮的响应1643、(续)消息类型、类列表3、(续)消息类型、类列表1654、添加代码(p23)4、添加代码(p23)1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论