第九章-表单设计与应用概要.ppt_第1页
第九章-表单设计与应用概要.ppt_第2页
第九章-表单设计与应用概要.ppt_第3页
第九章-表单设计与应用概要.ppt_第4页
第九章-表单设计与应用概要.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第九章表单设计与应用,本章要点:面向对象的概念:对象与类、子类与继承;VisualFoxPro基类简介:VisualFoxPro基类、容器与控件、事件;创建与管理表单:创建表单、管理表单属性和方法、常用事件与方法;表单设计器:表单设计器环境、控件的操作与布局、数据环境;常用表单控件:各控件的标题属性、控件内容或设置当前状态的属性、控件的可见属性等,2,OOP(ObjectOrientedPragramming)是一种试图模仿人们适应现实世界模型的程序设计方法,它利用了人们对事物分类的自然倾向,引进了类的概念,具有数据抽象、继承性等特点。当编写一个OOP程序时,首要任务是设计一种数据格式,让

2、它适合我们问题的重要的特征,然后建立一套过程或方法去操纵数据以解决我们的问题,可以把一个问题划分为具有数据和行为的对象,然后把这些组成模块有机地组合起来以解决问题。,3,一、对象(object)1定义:是现实世界的实体或概念在计算机逻辑中的抽象表示。2说明:对象的特点是有标识且可识别。对象被定义为有属性和相关方法组成的包。属性:用来描述对象的状态特征。方法:用来描述对象的行为特征,即操作,指出对象应该干什么或能够干什么。,4,事件1定义:是一种由系统预先定义而由用户或系统发出的动作,事件作用于对象,对象识别事件并作出相应的反映。2说明:用户编写事件发生时的对象行为(方法程序),当用户以任意一种

3、方式与对象交互时,对象的事件被触发,同时执行与该事件相关联的方法。事件是固定的,用户不能定义新的事件。事件代码既能在事件引发执行,也可以像方法一样被显示调用.,5,生成对象CREATEOBJECT(,),对象属性访问以及对象方法调用的基本格式如下:.对象方法(),6,二、类(class)定义:是对一类相似对象的性质描述,这些对象具有相同的性质:相同种类的属性以及方法。类其实是一种抽象,它把事物内部的复杂性隐藏起来。所谓的抽象性是指能够忽略对象的内部细节,使用户集中精力来使用对象的特性。说明:类是概括型名词,而对象是具体事物。类好比对象的模板,有了类定义后,基于类就可以生成这类对象中的任何一个对

4、象。“类是对象工厂”例1:学生类属性:学号、姓名、性别、出生日期等方法:注册、考试、毕业对象:2003级会电(1)班例2:文件类属性:文件名、类型、创建日期、访问日期方法:打开、关闭、读、写操作对象:数据文件,7,三、类与对象的关系1对象是类实例化的结果classinstance对象类对象实例概括性名词具体事物,8,2.对象、实体与类示意图,9,基类:VisualFoxPro系统所提供的的基础类,即VFP基类。通过继承与扩充,用户可以创建使用于自己的应用程序的类和对象,子类自动继承基类的所有特性。VFP提供的基类清单见教材P224表9.2。,10,3、VF分容器类与控件类(以图形化的方式显示出

5、来并能与用户进行交互的对象),11,VFP中的类一般可分为两种类型:容器类和控件类。控件:是一个可以以图形化的方式显示出来并能与用户进行交互的对象,例如按钮、文本框。容器:是一种特殊的控件,它能包容其他的控件或容器,例如表单、表格层次:容器内的包容关系形成了对象的嵌套层次关系,对象的层次概念与类的层次概念完全不同:对象的层次是包容与被包容的关系,而类的层次是继承与被继承的关系。常用容器类及其所能包容的对象P224表9-3,12,在对象的嵌套层次关系中,要引用其中的某个对象,需要指明对象在嵌套层次中的位置,对象引用的几个属性或关键字见下表。,13,14,类的特性:继承性,封装性,多态性,15,一

6、、继承1定义:是指在基于现有的类创建新类时、新类继承了现有类里的方法和属性。2说明:继承表达了一种从一般到特殊的进行过程。继承可以使在一个父类上所做的修改自动反映到它的所有上。二、子类1定义:用户在VFP提供的基类基础上,根据需要定义的类。2说明:子类继承了现有类里的方法和属性,现有类称为新类的父类。可以为新类添加新的方法和属性。一个子类的成员一般包括:A从其父类继承的成员,包括属性、方法。B有子类自己定义的成员,包括属性、方法。,16,表单,创建表单(表单文件.scx,表单备注文件.sct)项目菜单命令(一)、使用表单向导创建的表单在“项目管理器”“文档”选项卡“表单”“新建”“新建表单”“

7、表单向导”“向导选取”从列表框中选择要使用的向导,单击“确定”,17,(二)、使用表单设计器创建表单1.在项目管理器环境下调用。2.表单方式调用3.命令方式调用格式:CREATEFORM说明:表单文件的扩展名是.SCX,表单备注文件的扩展名是.SCT.,18,(三)、修改已有的表单1修改项目中的表单“项目管理器”“文档”选择表单“修改”打开表单设计器2不属于项目中的表单修改,“文件”“打开”选择表单文件命令打开:MODIFYFORM,19,(四)、运行表单1在项目管理器窗口中,选择要用运行的表单,然后单击窗口里的“运行”按钮。2在表单设计器环境下,选择“表单”菜单中的“执行表单”命令,或单击工

8、具栏上的“运行”按钮。3选择“程序”菜单中的“运行”命令,打开“运行”对话框,在对话框中指定表单文件并单击“运行”按钮。4命令:DOFORM表单文件名NAME变量名WITH实参1,实参2,LINKEDNOSHOW说明:NAME子句将建立指定名字的变量。WITH子句将各实参的值传递给该事件代码中的各形参。包含LINKED关键字,表单将随指向它的变量的清除而关闭(释放)。包含NOSHOW关键字,表单运行时将不显示,直至表单对象的Visible属性被设置为.T.,或调用了SHOW方法。,20,表单设计器一、表单设计器环境表单设计器窗口属性窗口表单控件工具栏表单设计器工具栏表单菜单,21,表单设计窗口

9、1内容正在设计的表单的表单窗口。2用户可视化地添加和修改控件的窗口,22,属性窗口1包括对象框,属性设置框,方法和事件列表,用户可在此窗口中选择单击控件,并为表单设计属性方法及事件,2表单及控件的绝大多数属性,其数据类型是固定的,一般来说,要为属性设置一个字符型数值,可以在设置框中直接输入不需要加定界符。3“属性窗口”可以通过单击“表单设计器”工具栏中“属性窗口”按钮或选择“显示菜单”中的“属性”命令打开和关闭,23,表单控件工具栏1利用“表单控件”工具栏可以方便的往表中添加控件:单击需要的控件按钮后,再将鼠标移至合适位置单击,并拖动鼠标以确定控件大小,2“表单控件”工具栏还包含:“选定对象”

10、、“按钮锁定“、“生成器锁定”“查看类”4个辅助按钮。,24,表单设计器工具栏内含“设置Tab键次序“、”数据环境“、”属性窗口“、“代码窗口”、“表单控件工具栏”“、”调色板工具栏“布局工具栏”“表单生成器”和“自动格式”按钮,25,表单菜单其命令主要用于创建、编辑表单或表单集,如为表单增加新的属性或方法等。,26,二、控件的操作与布局(一)控件的基本操作1、选定控件(选定多个控件,按SHIFT键)表单控件工具栏中选择”选定对象”按钮,拖动指针,可以选择相邻的控件.2、移动控件3、调整控件大小4、复制控件5、删除控件(DELETE键)。,27,(二)、控件布局1利用“布局”工具栏中的按钮,可

11、以方便的调整在表单窗口中被选控件的相对大小位置。2通过“布局工具栏”按钮或“显示”菜单中的“布局工具栏”命令打开或关闭。,28,(三)设置Tab键次序:交互方式和列表方式。“显示”(菜单)“Tab键次序”“工具”(工具栏)“Tab键次序”1当表单运行时,用户可以按Tab键选择表单中的控件,使焦点在控件间移动,控件的TAB次序决定了选择控件的次序。2VFP提供了两种方式设置TAB键次序:交互方式和列表方式。,29,三、数据环境打开数据环境设计器工具栏“数据环境”显示数据环境右键数据环境向数据环境添加(移去)表或视图向表单添加字段默认情况下,如果拖动的是字符型字段,将产生文本框控件;如果拖动的是备

12、注型字段,将产生编辑框控件;如果拖的是表或视图,将产生表格控件。工具选项字段映象修改,30,(一)、数据环境的常用属性1Autoopentables:当运行或打开表单时,是否打开数据环境中的表和视图,默认值为.T.。2.Autoclosetables:当释放或关闭表单时,是否关闭由数据环境指定的表和视图,默认值为.T.。(二)、打开数据环境设计器单击“数据环境”按钮或选择“显示”菜单中的“数据环境”命令,即可打开“数据环境设计器”窗口。,31,(三)、向数据环境添加表或视图1选择“数据环境”菜单中的“添加”命令,或右键单击“数据环境设计器”窗口,选择“添加”命令,打开“添加表或视图”对话框。2

13、选择要添加的表或视图,并单击“添加”按钮;若单击“其他”按钮,将调出“打开”对话框,用户可从中选择需要的表。(四)、从数据环境中移去表或视图1在“数据环境设计器”窗口中,单击选择要移动的表或视图。2选择“数据环境”菜单中的“移去”命令。,32,(五)、在数据环境中设置关系1如果添加到数据环境的表之间具有在DB中设置的永久关系,这些关系会自动添加到数据环境中。2可以根据需要在数据环境设计器下为这些表设置关系。(六)、在数据环境中编辑关系关系有自己的属性、方法和事件,编辑关系主要通过设置关系的属性来完成。单击关系的连线,然后在属性窗口中选择关系属性设置。(七)、向表单添加字段用户可以从“数据环境设

14、计器”窗口、“项目管理器”窗口或“数据库设计器”窗口中直接将字段、表或视图拖入表单,系统将产生相应的控件并与字段相联系。,33,管理表单属性和方法,四、管理表单属性和方法1、常用表单属性规定了表单的外观和行为,见教材P245表10-32、创建新属性表单(菜单)新建属性,在“名称”框中输入属性名称。在“说明”框中输入新建属性的说明信息。,34,常用事件与方法1、Init事件:在对象建立时引发。2、Destory事件:在对象释放时引发。3、Error事件:当对象方法或事件代码在运行过程中产生错误时引发。4、Load事件:在表单对象建立之前引发,即运行表单时,先引发表单的Load事件,再引发表单的I

15、nit事件。5、Unload事件:在表单对象释放时引发,是表单对象释放时最后一个要引发的事件。比如在关闭包含一个命令按钮的表单时,先引发表单的Destory,然后引发命令按钮Destory事件,最后引发表单的Unload事件。6、GotFocus事件:当对象获得焦点时引发。7、Click事件:用鼠标单击对象时引发。8、DblClick事件:用鼠标双击对象时引发。9、RightClick事件:用鼠标右键单击对象时引发。,35,10、InteractiveChange事件:当通过鼠标或键盘交互式改变一个控件的值时引发。11、Release方法:将表单从内存中释放。12、Refresh方法:重新绘制

16、表单或控件,并刷新它的所有值。13、Show方法:显示表单。14、Hide方法:隐藏表单。15、SetFocus方法:让控件获得焦点。如果一个控件的Enable属性值或Visible属性值为.F.,将不能获得焦点。例题:书P246例10.1,36,创建新方法1运行“表单”新建方法程序“打开”新建方法程序“对话框。2在“名称”框中输入新方法名。3在“说明”框中输入新建方法的说明信息。编辑方法或事件代码在表单设计器中,编辑方法或事件代码的步骤如下:1选择“显示”“代码”,打开代码编辑窗口。2从“对象”框中选择方法或事件所属的对象。3从“过程”框中指定需要编辑的方法或事件。4在编辑区输入或修改方法或

17、事件的代码。,37,常用表单控件一、标签(Label)控件标签是用以显示文本的图形控件,标签标题文本最多可包含的字符数目是256个。标签并不能获得焦点,而是把焦点传递给Tab键次序中紧跟着标签的下一个控件。,38,1、Caption属性指定标签的标题文本。很多控件类都具有Caption属性,如表单、复选框、选项按钮、命令按钮等。用户在为控件设置Caption属性时,可以将其中的某个字符作为访问键,方法是在该字符前插入一个反斜杠和一个小于号()。比如,下面代码在为标签设置Caption属性的同时,指定了一个访问键“X”。thisform.label1.caption=”选择项目(X)”对于一般控

18、件,按下相应的访问键,将激活该控件,使该控件获得焦点。而对于标签,按下相应的访问键,将把焦点传递给Tab键次序中紧跟着标签的下一个控件。,39,2、Alignment属性指定标题文本在控件中显示的对齐方式。,40,3、autosize:确定是否根据标签上显示文本的长度,自动调整标签大小。4、visible:设置标签可见还是隐藏。5、wordwrap:确定标签上显示的文本能否换行。6、backstyle:确定标签是否透明。,41,例:(8-6)表单中有三个标签,当用鼠标单击任何一个标签时,都使其他两个标签的标题文本互换。,42,1)标签label1的Click事件代码为:t=thisform.l

19、abel2.captionthisform.label2.caption=thisform.label3.captionthisform.label3.caption=t2)标签label2的Click事件代码为:t=thisform.label1.captionthisform.label1.caption=thisform.label3.captionthisform.label3.caption=t3)标签label3的Click事件代码为:t=thisform.label1.captionthisform.label1.caption=thisform.label2.captionth

20、isform.label2.caption=t,43,二、命令按钮(CommandButton)控件命令按钮典型地用来启动某个事件代码,完成特定功能,如关闭表单、移动记录指针、打印报表等。1、Default属性和Cancel属性Default属性值为.T.的命令按钮称为“确认”按钮。命令按钮的Default属性默认值为.F.。一个表单内只能有一个“确认”按钮,Cancel属性值为.T.的命令按钮称为“取消”按钮。命令按钮的Cancel属性默认值为.F.。在“取消”按钮所在的表单激活的情况下,按Esc键可以激活“取消”按钮,执行该按钮的Click事件代码。,44,2、Enabled属性指定表单或

21、控件能否响应由用户引发的事件。默认值为.T.,即对象是有效的,能被选择,能响应用户引发的事件。3、Visible属性:指定对象是可见还是隐藏。默认值为.T.,即对象是可见的(可使用Show方法使表单成为可见的)。4、disabledpicture:指定按钮失效时在按钮上显示的.bmp文件。5、downpicture6、picture,45,46,47,三、命令组(CommandGroup)控件命令组是包含一组命令按钮的容器控件,用户可以单个或作为一组来操作其中的按钮。(1)从“属性”窗口(2)用鼠标右键单击命令组“编辑”。1、ButtonCount属性指定命令组中命令按钮的数目。ButtonC

22、ount属性的默认值是2.2、Buttons属性用于存取命令组中各按钮的数组。例如:下面这行代码可以放在与命令组处于同一表单中的某个对象的方法或事件代码中,将命令组中的第2个按钮设置成隐藏的:ThisForm.Commandgroup1.buttons(2).Visible=.f.属性数组下标的取值范围应在1至ButtonCount属性值之间。3、Value属性,48,指定命令组当前的状态,该属性若为数值N,则表示命令组中第N个命令按钮被选中;若为字符C,则表示命令组中Caption属性值为C的命令按钮被选中。除了命令组,还适用于复选框、选项按钮、选项组、列表框、组合框、文本框、编辑框、表格等

23、控件。,49,n=this.valuedocasecasen=1thisform.backcolor=rgb(255,255,255)casen=2thisform.backcolor=rgb(0,0,0)casen=3thisform.backcolor=rgb(255,0,0)casen=4thisform.backcolor=rgb(0,0,255)endcase,50,四、文本框(TextBox)控件文本框是VF里一种常用的控件。所有标准的VF编辑功能,如剪切、复制和粘贴,在文本框内都可使用。文本框一般包含一行数据。文本框可以编辑任何类型的数据,如字符型、数值型、逻辑型、日期型或日期时

24、间型等。如果编辑的是日期型或日期时间型数据,那么在整个内容被选定的情况下,按“+”或“-”,可以使日期增加一天或减少一天。,51,1、Value属性返回文本框的当前内容。该属性的默认值是空串。2、PasswordChar属性指定文本框控件内是显示用户输入的字符还是显示占位符;指定用作占位符的字符。3、InputMask属性指定在一个文本框中如何输入和显示数据。4、ControlSource属性可利用该属性为文本框指定一个字段或内存变量,运行时,文本框中首先显示该变量的内容.,52,5、maxlength:用在未设置inputmask属性时决定文本框中字符型数据的长度。6、readonly7、s

25、electonentry:确定当文本框得到焦点时是否自动选中文本框中的内容。,53,54,ifthisform.text1.value=leiandthisform.text2.value=123456wait欢迎使用.windowtimeout3thisform.releaseelsethisform.num=thisform.num+1ifthisform.num=3wait用户名或口令不对,登录失败!windowtimeout3thisform.releaseelsewait用户名或口令不对,请重新输入.windowtimeout3endifendif,55,操作步骤:创建表单,在表单上

26、添加两个标签、两个文本框和一个命令按钮。设置两个标签和一个命令按钮的Caption属性值,并将命令按钮的Default属性值设置为.T.。设置文本框Text2的InputMask属性值。可在设置框直接输入999999。设置文本框Test2的PasswordChar属性值(*)。表单(菜单)新建属性添加新属性num在“属性”窗口中将其默认值设置为0。,56,五、编辑框(EditBox)控件与文本框一样,编辑框也用来输入、编辑数据,但它有自己的特点:编辑框实际上是一个完整的字处理器,利用它能够选择、剪切、粘贴以及复制正文;可以实现自动换行(字卷绕);能够有自己的垂直滚动条;可以用箭头键在正文里面移

27、动光标。编辑框只能输入、编辑字符型数据,包括C型内存变量、数组元素、字段以及备注字段里的内容。前面有关文本框的属性(不包括PasswordChar属性)对编辑框同样适用。,57,1、AllowTabs属性指定编辑框控件中能否使用Tab键。其属性值的设置情况如下表所示。该属性在设计时和运行时均是可用的,仅适用于编辑框。,58,AllowTabs属性的设置值,59,2、HideSelection属性指定当编辑框失去焦点时,编辑框中选定的文本是否仍显示为选定状态。其属性值的设置情况如下表所示。该属性在设计时和运行时均是可用的。除编辑框,还适用于文本框、组合框等控件。,60,HideSelection

28、属性的设置值,61,3、ReadOnly属性指定用户能否编辑编辑框中的内容,默认为.F.。ReadOnly属性与Enabled属性是有区别的。尽管在ReadOnly为.T.和Enabled为.F.两种情况下,都使编辑框具有只读的特点,但在前种情况下,用户仍能移动焦点至编辑框上并使用滚动条,而后种情况则不能。4、ScrollBars属性指定编辑是否具有滚动条。当属性值为0时,编辑框没有滚动条;当属性值为2(默认值)时,编辑框包含垂直滚动条。该属性在设计时可用,在运行时可读写。除了编辑框,还适用于表单、表格等控件。,62,5、SelStart属性返回用户在编辑框中所选文本的起始点位置或插入点位置(

29、没有文本选定时)。有效取值范围在0与编辑区中的字符总数之间。6、SelLength属性返回用户在控件的文本输入区中所选定字符的数目,或指定要选定的字符数目。7、SelText属性返回用户编辑区内选定的文本,如果没有选定任何文本,则返回空串。以上三种属性配合使用,可完成设置插入点位置、控制插入点的移动范围、选择字串等的一些任务。,63,64,操作步骤:创建表单,在表单上添加一个编辑框和两个命令按钮。设置编辑框的HideSelection属性值(.F.)。分别设置两个命令按钮的Caption属性值。分别为两个命令按钮设置Click事件代码。,65,查找:n=at(example,thisform.

30、edit1.value)ifn0thisform.edit1.selstart=n-1n=thisform.edit1.selstartwaitwindowsthisform.edit1.sellength=len(example)elseWait“没有相匹配的单词“windowstimeout3endif替换:ifthisform.edit1.seltext=examplethisform.edit1.seltext=exerciceelsewaitwindow没有选择需要置换的单词timeout3endif,66,六、复选框(CheckBox)控件一个复选框用于标记一个两值状态,如真(.T

31、.)或假(.F.)。当处于“真”状态时,复选框内显示一个对勾();否则,复选框内为空白。Caption属性:用来指定显示在复选框旁边的文字。Value属性:用来指明复选框的当前状态。复选框的Value属性值有以下三种情况:,67,3、controlsource:指明与复选框建立的数据源。作为数据源的字段变量或内存变量,其类型可以是逻辑型(值用.f.,.t.,null表示)或数值型变量(值用0,1,2或null表示)。用户对复选框操作的结果会自动存入到数据源变量以及value属性值中。,68,七、选项组(OptionGroup)控件用户只能从中选择一个按钮。当用户选择某个选项按钮时,该按钮即成为

32、被选中状态,而选项组中的其他选项按钮,不管原来是什么状态,都变为未选中状态。被选中的选项按钮中会显示一个圆点。ButtonCount属性:指定选项组中选项按钮的数目。默认值是2,即包含两个选项按钮。Value属性:用于指定选项组中哪个选项按钮被选中。Buttons属性:用于存取选项组中每个按钮的数组。例如,下面这行代码可以放在与选项组Optiongroup1处于同一表单中的某个对象的方法或事件代码中,为选项组中的第3个按钮设置Caption属性:Thisform.optiongroup1.buttons(3).caption=”sortbyCustomer”4.ControlSource属性:

33、指定与选项组建立联系的数据源.,69,八、列表框(ListBox)控件列表框提供一组条目(数据项),用户可以从中选择一个或多个条目。RowsourceType属性与RowSource属性RowSource属性指定列表框的条目数据源.RowSourceType指明列表框中的条目数据源的类型P260List属性:用以存取列表框中数据条目的字符串数组。listCount属性:指明列表框数据条目的数目。ColumnCount属性:指定列表框的列数。Value属性:返回列表框中被选中的条目。Selected属性:指定列表框内的某个条目是否处于选定状态。比如下面代码用以判断第三个条目是否被选中:,70,I

34、fThisForm.list1.Selected(3)Waitwindow”Itsselected!”ELSEWAITWINDOW“Itsnot!”ENDIF7CoutrolSource属性:指定一个字段或变量用以保存用户从列表框中选择的结果。,71,8、MultiSelect属性:指定用户能否在列表框控件内进行多重选定。该属性的设置情况如下表所示。,72,常用的列表框方法程序:AddItem:向RowSourceType属性值为0的列表框中添加一个列表项.RemoveItem:从RowSourceType属性为0的列表框中删除一个列表项.Requery:当RowSource中的值改变时更新列

35、表。,73,9、组合框(ComboBox)控件组合框与列表框类似,也是用于提供一组条目供用户从中选择。上面介绍的有关列表框的属性、方法,组合框同样具有(除MultiSelect外),并且具有相似的含义和用法。组合框和列表框的主要区别在于:对于组合框,通常只有一个条目是可见的。用户可以单击组合框上的下箭头按钮打开,组合框能够节省显示空间。组合框不提供多重选择的功能,没有MultiSelect属性。组合框可通过Style属性设置其形式:0下拉组合框,2-下拉列表框。,74,75,粗体,下划线,斜体ifthis.value=1thisform.label1.fontbold(fontunderlin

36、e)(fontitalic)=.t.elsethisform.label1.fontbold=.f.endifcombol1的init事件combol2的init事件this.additem(宋体)this.additem(9)this.additem(楷体)this.additem(12)this.additem(黑体)this.additem(15)interactivechange事件(1)thisform.label1.fontname=alltrim(this.displayvalue)(2)thisform.label1.fontsize=val(alltrim(this.displayvalue),76,10、表格(Gird)控件表格是一种容器对象,其外形与Browse窗口相似,按行和列的形式显示数据。常用的表格属性见书P265RecordSourceType属性与RecordSource属性RecordSourceType属性指明表格数据源的类型,RecordSource属性指定表格数

温馨提示

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

评论

0/150

提交评论