资源描述
VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社Visual Basic 程序设计项目化教程n主编主编 管小清管小清 郭贺彬郭贺彬VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社项目十二项目十二 绘制数学函数图像绘制数学函数图像n项目目标:项目目标:n本项目利用本项目利用VB提供的函数来绘制典型的数学函数图像,提供的函数来绘制典型的数学函数图像,包括正弦函数图像、余弦函数图像和摆线;熟练使用包括正弦函数图像、余弦函数图像和摆线;熟练使用PictureBox控件以及菜单编辑器进行界面设计,掌握控件以及菜单编辑器进行界面设计,掌握在在PictureBox中输出文本以及图形的方法,掌握中输出文本以及图形的方法,掌握Line()函数,()函数,Pset()函数,()函数,RGB()函数的使用方法,()函数的使用方法,通过本项目的学习可以使得学习者掌握通过本项目的学习可以使得学习者掌握VB的绘图方法的绘图方法和菜单的设计与制作方法。和菜单的设计与制作方法。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社项目十二项目十二 绘制数学函数图像绘制数学函数图像n项目主要知识点:项目主要知识点:n1、图片框(、图片框(PictureBox)的使用)的使用图片框:图片框:PictureBox图像框:图像框:Imagen2、Line函数的使用函数的使用功能:绘制直线或矩形功能:绘制直线或矩形语法格式以及参数的含义语法格式以及参数的含义n3、菜单编辑器的使用、菜单编辑器的使用下拉式菜单下拉式菜单弹出式菜单弹出式菜单分隔菜单项和快捷键分隔菜单项和快捷键VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社项目十二项目十二 绘制数学函数图像绘制数学函数图像n4、在图片框中输出文本与图形的方法、在图片框中输出文本与图形的方法 n5、Pset()函数的使用()函数的使用n语法格式及参数含义语法格式及参数含义n6、RGB()函数的使用()函数的使用n语法格式及参数含义语法格式及参数含义n7、窗体的、窗体的Pain事件方法事件方法n8、测试程序,完善程序的能力、测试程序,完善程序的能力VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社项目十二项目十二 绘制数学函数图像绘制数学函数图像n项目实施步骤:项目实施步骤:n阅读相关基础知识阅读相关基础知识n界面设计界面设计n编程实现坐标系的绘制程序设计编程实现坐标系的绘制程序设计n编写三角函数菜单中的事件过程编写三角函数菜单中的事件过程n编写摆线菜单的事件过程编写摆线菜单的事件过程n程序测试,进行功能完善程序测试,进行功能完善n程序打包,生成可执行文件程序打包,生成可执行文件EXEVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1 第第1步:基础知识步:基础知识n12.1.1 图片框(图片框(PictureBox)和图像框()和图像框(Image)n图片框(图片框(PictureBox)和图像框(和图像框(Image)图片框控件和图片框控件和图像框控件都具有显示图形(图像)的功能。在窗体上添加图片图像框控件都具有显示图形(图像)的功能。在窗体上添加图片框(框(PictureBox)控件和图像框()控件和图像框(Image)控件,可实现在窗口)控件,可实现在窗口中所需位置显示图像的目的。可加载到这两个控件上的图像文件中所需位置显示图像的目的。可加载到这两个控件上的图像文件格式有:位图(格式有:位图(.bmp、.dib、.cur)、图标()、图标(.ico)、图元文件)、图元文件(.wmf)、增强型图元文件()、增强型图元文件(.emf)、)、JPEG或或GIF文件。文件。n这两个控件图像的加载是通过给这两个控件图像的加载是通过给Picture属性设置装载的图形来实属性设置装载的图形来实现的,具体的主要属性设置如下表所示(两个控件的属性基本一现的,具体的主要属性设置如下表所示(两个控件的属性基本一致):致):VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1 第第1步:基础知识步:基础知识n表表12-1 图片框和图像框的属性列表图片框和图像框的属性列表属性属性所属控件所属控件说明说明NameImage PictureBox设置控件的名称EnabledImage PictureBoxTrue/False 是否对控件产生响应PictureImage PictureBox设置控件对象要显示的图形和图像StretchImageTrue/False 是否可以拉伸图形以适应控件的大小AutoSizePictureBoxTrue/False设置控件的大小是否自动调整VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.2 Line()函数()函数n Line函数画线方法的主要功能实在窗体或控件的指定位置处绘制直线或者矩形等。函数画线方法的主要功能实在窗体或控件的指定位置处绘制直线或者矩形等。n 语法格式:语法格式:n.LineStep()-Step(,颜色颜色),BFn 说明:说明:n 对象名对象名指窗体、图片框等对象名,若缺省对象名,则在活动窗体上画线或者矩形。指窗体、图片框等对象名,若缺省对象名,则在活动窗体上画线或者矩形。n(x1,y1)直线起点或者矩形左上角坐标。如果缺省,直线或矩形左上角坐标为直线起点或者矩形左上角坐标。如果缺省,直线或矩形左上角坐标为(CuttentX,CurrentY)。)。n(x2,y2)直线终点或者右下角坐标。该参数不能缺省。直线终点或者右下角坐标。该参数不能缺省。n 颜色颜色指定画线或矩形边的颜色。如果缺省该参数,则使用该对象的前景颜色画线。指定画线或矩形边的颜色。如果缺省该参数,则使用该对象的前景颜色画线。n B盒子(盒子(Box)之意,表示用)之意,表示用Line方法画矩形。此时,(方法画矩形。此时,(x1,y1)和()和(x2.y2)或他们的)或他们的变形为矩形左上角和右下角坐标。变形为矩形左上角和右下角坐标。n F可选项。若选用,必须与可选项。若选用,必须与B参数连用,用于指定画矩形边框时所用颜色来填充矩形区域。参数连用,用于指定画矩形边框时所用颜色来填充矩形区域。若画矩形时缺省此参数,则用当前的填充色(由若画矩形时缺省此参数,则用当前的填充色(由FillColor指定)和填充样式(由指定)和填充样式(由FillStyle)VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.2 Line()函数()函数n其中其中FillStyle的取值和属性的意义如下表:的取值和属性的意义如下表:n 表表12-2 FillStyle属性值的不同意义属性值的不同意义FillStyle的属的属性值性值填充样式填充样式0以FillColor属性指定的颜色填充1透明线(默认值)2水平线3垂直线4斜向上对角线5斜向下对角线6水平交叉线7对角交叉线VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.3 Pset()函数函数n画点方法的功能实在窗体或控件的指定位置处绘制一个像素点。画点方法的功能实在窗体或控件的指定位置处绘制一个像素点。n 语法格式:语法格式:n.Pset Step(x,y),n对象名对象名指窗体、图片框等对象名,若缺省对象名,则在活动指窗体、图片框等对象名,若缺省对象名,则在活动窗体上画点。窗体上画点。n(x,y)指定画点的坐标位置。指定画点的坐标位置。x,y必须是单精度数,可以是必须是单精度数,可以是小数、数值表达式或者常量。小数、数值表达式或者常量。n 颜色颜色可选项。缺省时画点选用由可选项。缺省时画点选用由ForeColor设置的当前前景设置的当前前景颜色。颜色。nStep可选项。选用该参数时,可选项。选用该参数时,x,y是在当前光标所在点坐标的是在当前光标所在点坐标的基础上的增量。基础上的增量。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.4 RGB()函数函数n用来设置颜色的函数,格式为:用来设置颜色的函数,格式为:n RGB(R,G,B)分别代表)分别代表R红色,红色,G代表绿色,代表绿色,B代表蓝色;每种颜色的取值范围是代表蓝色;每种颜色的取值范围是0255;三种颜色的;三种颜色的不同值形成新的颜色。例如:不同值形成新的颜色。例如:n Form1.Forecolor=RGB(125,56,79)VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n 1、菜单分类:、菜单分类:o下拉式菜单:窗口的顶部有一个主菜单,称为菜单栏。单击菜单栏的某一个下拉式菜单:窗口的顶部有一个主菜单,称为菜单栏。单击菜单栏的某一个菜单项,打开一个包含菜单项的列表(子菜单)。菜单栏中的选项称为菜单菜单项,打开一个包含菜单项的列表(子菜单)。菜单栏中的选项称为菜单标题。弹出的子菜单列表中包含命令、分隔条和子菜单标题(右边有三角记标题。弹出的子菜单列表中包含命令、分隔条和子菜单标题(右边有三角记号的菜单项)。号的菜单项)。o弹出式菜单:用鼠标指向某一个对象(或空白区域),单机鼠标右键弹出的弹出式菜单:用鼠标指向某一个对象(或空白区域),单机鼠标右键弹出的菜单成为弹出式菜单,或称为菜单成为弹出式菜单,或称为“快捷菜单快捷菜单”、“上下文相关菜单上下文相关菜单”。与下列。与下列式菜单的区别是:位置上不同,弹出式菜单显示位置会自动调整在合适处。式菜单的区别是:位置上不同,弹出式菜单显示位置会自动调整在合适处。n 2、菜单编辑器的使用、菜单编辑器的使用n VB的菜单也是一个控件,但菜单控件不在工具箱中。的菜单也是一个控件,但菜单控件不在工具箱中。VB的菜单控件的菜单控件也具有外观和行为的属性。所以也需要定义其属性,但不是在属性窗口也具有外观和行为的属性。所以也需要定义其属性,但不是在属性窗口中设置属性值,而是在菜单编辑器窗口中设置的。中设置属性值,而是在菜单编辑器窗口中设置的。n 菜单控件只能出发菜单控件只能出发Click事件。菜单设计是在事件。菜单设计是在“菜单编辑器菜单编辑器”中进行的。中进行的。“菜单编辑器菜单编辑器”可用来创建菜单栏,也可以用来修改已存在的菜单。打可用来创建菜单栏,也可以用来修改已存在的菜单。打开菜单编辑器有两种方法:开菜单编辑器有两种方法:VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n选择选择【工具工具】下拉菜单中的下拉菜单中的“菜单编辑器菜单编辑器”选项(如图选项(如图12-1所示)。所示)。图12-1“工具”菜单中的“菜单编辑器”VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n单击工具栏中的单击工具栏中的“”图标,即图标,即“菜单编辑器菜单编辑器”按钮,图标按钮,图标位于工具栏上的方框部分,如图位于工具栏上的方框部分,如图12-2所示。所示。图12-2 工具栏中的“菜单编辑器 VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n设置菜单控件的属性:设置菜单控件的属性:“菜单编辑器菜单编辑器”标题栏下方的区域是属性区,属性区中的各个文本框标题栏下方的区域是属性区,属性区中的各个文本框用来设置菜单控件的属性,如:标题,名称,快捷键等,如图用来设置菜单控件的属性,如:标题,名称,快捷键等,如图12-3所示。其主要属性如表所示。其主要属性如表12-3所示:所示:图12-3 菜单编辑器VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n表表12-3 菜单编辑器中各参数的含义菜单编辑器中各参数的含义属属 性性说说 明明标题(Caption)显示在菜单控件上的字符。即菜单项名,如“文件”等名称(Name)在程序代码中引用菜单控件时使用的名称索引(Index)菜单控件可以利用索引来建立数组,并以索引值来识别数组中的不同成员,但它不会自动为用户建立索引值。快捷键(Shortcut)设置菜单的快捷键复选(Checked)该属性为True(选中)时在菜单项的前面出现一个“”标记,表示该项目前处于活动状态。有效(Enabled)该属性为False(未选中)时,对应的菜单项呈现灰色,表示当前不可用。可见(Visible)该属性为False(未选中)时,对应的菜单项不可见帮助上下文ID在HelpFile 属性指定的帮助文件中用该数值查找适当的帮助信息。协调位置允许选择菜单的NegotiatePosition属性,该属性决定是否以及如何在容器窗体中。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n菜单属性区的下方是菜单编辑区。编辑区上方有菜单属性区的下方是菜单编辑区。编辑区上方有7个控制按钮,编辑菜单要借助它。个控制按钮,编辑菜单要借助它。n左、右箭头按钮:调整菜单项的级别(主菜单还是子菜单)。通过这两个键,告左、右箭头按钮:调整菜单项的级别(主菜单还是子菜单)。通过这两个键,告诉系统所设计的菜单时主菜单还是子菜单。若菜单项前面没有内缩符号诉系统所设计的菜单时主菜单还是子菜单。若菜单项前面没有内缩符号“”,则表示该菜单项是主菜单项;若菜单项前面有一个内缩符号则表示该菜单项是主菜单项;若菜单项前面有一个内缩符号“”,则表示该菜,则表示该菜单项是子菜单项(前一个菜单项的子菜单);每增加一个内缩符号单项是子菜单项(前一个菜单项的子菜单);每增加一个内缩符号“”,相应,相应的菜单级别向下一级。单击一次右箭头增加一个内缩符号的菜单级别向下一级。单击一次右箭头增加一个内缩符号“”,单击一次左箭,单击一次左箭头删除一个内缩符号头删除一个内缩符号“”。n上下箭头按钮:是把当前位置的菜单项进行上下位置的调整。上下箭头按钮:是把当前位置的菜单项进行上下位置的调整。n下一个:向后选定一个菜单控件,到了最后一个菜单项后单击该按钮,将增加一下一个:向后选定一个菜单控件,到了最后一个菜单项后单击该按钮,将增加一个空白菜单项。个空白菜单项。n插入:在当前位置增加一个菜单项。插入:在当前位置增加一个菜单项。n删除:删除当前位置的菜单项。删除:删除当前位置的菜单项。n菜单编辑器窗口的空白区域用来输入所设计的菜单项,也可以看作是菜单控件的菜单编辑器窗口的空白区域用来输入所设计的菜单项,也可以看作是菜单控件的列表框,在其上列出了菜单项名称,级别和快捷键。列表框,在其上列出了菜单项名称,级别和快捷键。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n3、分隔菜单项和快捷键、分隔菜单项和快捷键n如果菜单项比较多(一般是子菜单项),而且类型比较明显,可如果菜单项比较多(一般是子菜单项),而且类型比较明显,可以将同一类型的菜单项连在顺序存放,各类型之间用一条水平线以将同一类型的菜单项连在顺序存放,各类型之间用一条水平线分隔开。方法是:在菜单中插入一个菜单项,将该菜单项控件的分隔开。方法是:在菜单中插入一个菜单项,将该菜单项控件的“Caption”属性设置为一个连字符属性设置为一个连字符“-”即可。即可。n可以为菜单项设置一个快捷键,快捷键由可以为菜单项设置一个快捷键,快捷键由Alt键和一个指定的字符键和一个指定的字符组成。当用户按下这样一个组合键时,即可选中菜单控件(相当组成。当用户按下这样一个组合键时,即可选中菜单控件(相当于该菜单项),执行相应的操作。设置快捷键的方法是:在设置于该菜单项),执行相应的操作。设置快捷键的方法是:在设置控件的控件的“Caption”属性时,在希望做快捷键的字符上添加一个符属性时,在希望做快捷键的字符上添加一个符号号“&”即可。设置好菜单后的菜单编辑器显示内容如图即可。设置好菜单后的菜单编辑器显示内容如图12-4所示。所示。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单图12-4 设计好的菜单编辑器VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单n4、弹出式菜单、弹出式菜单n弹出式菜单时独立于菜单栏的浮动菜单,它可以显示在窗体的任何一个地方(根弹出式菜单时独立于菜单栏的浮动菜单,它可以显示在窗体的任何一个地方(根据用户单击鼠标右键时的坐标动态地调整显示位置)。弹出式菜单上的菜单项也据用户单击鼠标右键时的坐标动态地调整显示位置)。弹出式菜单上的菜单项也取决于单击鼠标右键时光标的位置。取决于单击鼠标右键时光标的位置。n建立弹出式菜单也是在建立弹出式菜单也是在“菜单编辑器菜单编辑器”中完成的。弹出式菜单应至少有一个菜单中完成的。弹出式菜单应至少有一个菜单项。项。n弹出式菜单要用专门的方法来显示:即弹出式菜单要用专门的方法来显示:即PopupMenu方法。语法格式为:方法。语法格式为:n窗体名窗体名.PopupMenu,Flags,x,y,BoldCommendn窗体名:指出在哪一个窗体上打开弹出式菜单。若省略,则在当前窗体打开弹出窗体名:指出在哪一个窗体上打开弹出式菜单。若省略,则在当前窗体打开弹出式菜单。式菜单。n菜单名:是指通过菜单名:是指通过“菜单编辑器菜单编辑器”设计出的至少含有一个选项的菜单名称,即设计出的至少含有一个选项的菜单名称,即Name属性值。属性值。nFlags:位置参数,是一些常量数值的设置,包含位置和行为两个指定值。其中:位置参数,是一些常量数值的设置,包含位置和行为两个指定值。其中:n位置常数:位置常数:0(默认)表示菜单的左上角位于(默认)表示菜单的左上角位于x:4表示菜单上框中央位于表示菜单上框中央位于x;8表示表示菜单右上角位于菜单右上角位于x。n行为常数:行为常数:0(默认)表示菜单命令只接收右键单击;(默认)表示菜单命令只接收右键单击;2表示菜单命令可接收左、表示菜单命令可接收左、右键单击。右键单击。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.1.5 菜单菜单nBoldCommand:指定菜单中要以粗体字显示的菜单名称。:指定菜单中要以粗体字显示的菜单名称。注意:因为快捷菜单时单击鼠标右键时弹出来的,所以在程序中应检测用户是否单击了鼠标右键。检测是否单击鼠标右键可用鼠标事件MouseUp或者MouseDown。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社 12.2第第2步:设计界面步:设计界面n设计界面,并修改相应各控件的属性设计界面,并修改相应各控件的属性n添加窗体,修改属性添加窗体,修改属性nCaption:数学函数图像:数学函数图像nWidth:8500nHeight:4000n在窗体中添加菜单项,各菜单项如表在窗体中添加菜单项,各菜单项如表12-4所示:所示:VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社 12.2第第2步:设计界面步:设计界面表12-4 项目中的菜单项 标题(标题(Caption)名称(名称(Name)索引(索引(Index)说明说明三角函数sanjiao主菜单项1Sin(x)hs10子菜单项11Cos(x)hs11子菜单项12清除hs12子菜单项12摆线baixian主菜单项2m=1.5m0子菜单项21m=3.0m1子菜单项22m=4.0m2子菜单项23m=5.0m3子菜单项24m=6.0m4子菜单项25清除m5子菜单项26关闭guan主菜单项3VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社 12.2第第2步:设计界面步:设计界面n在窗体上添加图片框,并修改相应的属性。在窗体上添加图片框,并修改相应的属性。nHeight:8300 Width:3600界面设计效果如图12-5所示:图12-5 项目界面VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.3 第第3步:编程实现坐标系的绘制步:编程实现坐标系的绘制n 编程思路:数学函数图像必须在固定的坐标系中完成,坐标系的绘制采用编程思路:数学函数图像必须在固定的坐标系中完成,坐标系的绘制采用Line函函数,分别画水平和垂直的两条直线,并用数,分别画水平和垂直的两条直线,并用Line函数绘制刻度;函数绘制刻度;n编写窗体的编写窗体的Paint事件代码如下:事件代码如下:nPrivate Sub Form_Paint()nConst pi=3.1415926n With Picture1 /在在PictureBox控件中绘制坐标系控件中绘制坐标系n .Top=0 n .Left=0n .Width=Me.ScaleWidth /当前的宽度当前的宽度n .Height=Me.ScaleHeight /当前的高度当前的高度n .ScaleMode=6n oldx=.ScaleWidth/2 n oldy=.ScaleHeight/2n .ClsVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.3 第第3步:编程实现坐标系的绘制步:编程实现坐标系的绘制n 画坐标轴方法如下画坐标轴方法如下n Picture1.Line(oldx,0)-(oldx,.ScaleHeight),RGB(255,0,0)/绘制绘制X轴轴n Picture1.Line(0,oldy)-(.ScaleWidth,oldy),RGB(255,0,0)/绘制绘制Y轴轴n End Withn Picture1.CurrentX=oldx 4 /原点的横坐标原点的横坐标n Picture1.CurrentY=oldy+0.5 /原点的纵坐标原点的纵坐标n Picture1.Print 0VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.3 第第3步:编程实现坐标系的绘制步:编程实现坐标系的绘制n 画画x轴的刻度方法如下轴的刻度方法如下n For xt=-Int(oldx)To Int(oldx)Step 0.5n If xt 0 Thenn st=xt*10*pin Picture1.CurrentX=oldx+st 3 /x轴上刻度值的横坐标轴上刻度值的横坐标n Picture1.CurrentY=oldy+0.5/x轴上刻度值的纵坐标轴上刻度值的纵坐标n Picture1.Print xt&/从从Word中插入中插入n Picture1.Line(oldx+st,oldy-1)-(oldx+st,oldy),RGB(255,0,0)/画画X轴上的刻度轴上的刻度n End Ifn Next xtVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.3 第第3步:编程实现坐标系的绘制步:编程实现坐标系的绘制n 画画y轴的刻度方法如下轴的刻度方法如下n For yt=-5 To 7n If yt 0 Thenn st=yt*10n Picture1.CurrentX=oldx 4 /刻度值的横坐标刻度值的横坐标n Picture1.CurrentY=oldy+st 1/刻度值的纵坐标刻度值的纵坐标n Picture1.Print ytn Picture1.Line(oldx,oldy+st)-(oldx+1,oldy+st),RGB(255,0,0)/画画Y轴上的刻度轴上的刻度n End IfnNext yt nEnd SubVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.3 第第3步:编程实现坐标系的绘制步:编程实现坐标系的绘制n程序效果如图程序效果如图12-6所示:所示:图12-6 项目中绘制的坐标系VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.4 第第4步:编写三角函数菜单中的事件过程步:编写三角函数菜单中的事件过程n编程思路:正弦函数和余弦函数的绘制则在编程思路:正弦函数和余弦函数的绘制则在For循环结构中利用循环结构中利用Pset函数函数绘制,步长的值尽量取得小一些。绘制,步长的值尽量取得小一些。n 程序代码如下程序代码如下nPrivate Sub hs1_Click(Index As Integer)noldx=Picture1.ScaleWidth/2noldy=Picture1.ScaleHeight/2nSelect Case Indexn Case 0 /绘制正弦函数的方法如下绘制正弦函数的方法如下n For t=-oldx To oldx Step 0.01n xt=10*tn yt=10*Sin(t)n Picture1.PSet(xt+oldx,oldy-yt),RGB(0,127,127)n Next tVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.4 第第4步:编写三角函数菜单中的事件过程步:编写三角函数菜单中的事件过程nCase 1 /绘制余弦函数的方法如下绘制余弦函数的方法如下n For t=-oldx To oldx Step 0.01n xt=10*tn yt=10*Cos(t)n Picture1.PSet(xt+oldx,oldy-yt),RGB(0,127,127)n Next tn Case 2 /清除清除n Picture1.Clsn Form_Paint/调用调用Paint事件,重新绘制坐标系事件,重新绘制坐标系n Exit SubnEnd SelectnEnd SubVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.4 第第4步:编写三角函数菜单中的事件过程步:编写三角函数菜单中的事件过程n 效果如图效果如图12-7所示:所示:图12-7 正余弦函数图像VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.5 第第5步:编写摆线菜单的事件过程步:编写摆线菜单的事件过程n 编程思路:通过编程思路:通过a,b的值根据公式来确立摆线的形状。的值根据公式来确立摆线的形状。n 程序代码如下:程序代码如下:nPrivate Sub m_Click(Index As Integer)n n=Indexn Select Case nn Case 0n a=12:b=8n Case 1n a=12:b=4n Case 2 m取不同的值,取不同的值,a,b 对应的值的变化对应的值的变化n a=12:b=3n Case 3n a=12:b=2.4n Case 4n a=12:b=4VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.5 第第5步:编写摆线菜单的事件过程步:编写摆线菜单的事件过程nCase 5 /清除清除n Picture1.Clsn Form_Paintn Exit Subn End Selectn oldx=Picture1.ScaleWidth/2n oldy=Picture1.ScaleHeight/2n For t=0 To 4*3.1415926 Step 0.01n xt=(a+b)*Cos(t)-b*Cos(a+b)*t/b)/根据公式计算点的横坐标根据公式计算点的横坐标n yt=(a+b)*Sin(t)-b*Sin(a+b)*t/b)/根据公式计算点的纵坐标根据公式计算点的纵坐标n Picture1.PSet(xt+oldx,oldy-yt),vbBluen Next tnEnd SubVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.5 第第5步:编写摆线菜单的事件过程步:编写摆线菜单的事件过程n程序效果如图程序效果如图12-8:图12-8 摆线图像注意:内(外)摆线又称“圆内(外)旋轮线”,是A圆周沿B圆周内(外)部滚动而无滑动时,A圆周上一固定点M所描成的轨迹。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.6 第第6步:编写关闭菜单程序步:编写关闭菜单程序n所用语句:所用语句:Unload meVBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.7 第第7步:程序测试,进行功能完善步:程序测试,进行功能完善 n待完善功能包括把摆线的形状设计的更多一些,不同待完善功能包括把摆线的形状设计的更多一些,不同的摆线设计不同的颜色和线型以及正余弦函数显示的的摆线设计不同的颜色和线型以及正余弦函数显示的不同等。不同等。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.8 第第8步:程序打包,生成可执行文件步:程序打包,生成可执行文件EXEn单击单击【文件文件】菜单下的菜单下的“绘制数学函数图像绘制数学函数图像.exe”,选,选择适当的位置保存生成的择适当的位置保存生成的exe文件,单击文件,单击“确定确定”。n当需要再次打开的时候,找到当需要再次打开的时候,找到“绘制数学函数图像绘制数学函数图像.exe”,双击运行即可产生正余弦函数和摆线的图像。,双击运行即可产生正余弦函数和摆线的图像。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.8 第第8步:程序打包,生成可执行文件步:程序打包,生成可执行文件EXEn项目总结:项目总结:n绘制三角函数的方法:利用绘制三角函数的方法:利用Pset函数在循环结构下反函数在循环结构下反复画点,步长要尽可能的小复画点,步长要尽可能的小nWith 方法的结构:方法的结构:With 对象名对象名.End Widthn菜单数组的使用:设置菜单数组的使用:设置Index属性值即可,下标从属性值即可,下标从0开开始始n颜色的表示法:颜色的表示法:RGB函数函数nLine函数的使用:线型,填充色函数的使用:线型,填充色nPset函数的使用函数的使用VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.8 第第8步:程序打包,生成可执行文件步:程序打包,生成可执行文件EXEn操作练习:操作练习:n1、绘制同心圆、绘制同心圆n2、画太极图、画太极图n复习思考:复习思考:n一、填空题一、填空题n1.函数画线方法的主要功能实在窗体或控件的指定位置处绘制直线函数画线方法的主要功能实在窗体或控件的指定位置处绘制直线或者矩形等。或者矩形等。n2.RGB(R,G,B)分别代表)分别代表R红色,红色,G代表绿色,代表绿色,B代表蓝色;每种颜色代表蓝色;每种颜色的取值范围是的取值范围是 ;三种颜色的;三种颜色的 形成新的颜色。形成新的颜色。n3.不同菜单项之间水平线分隔开,方法是:在菜单中插入一个菜单项,将不同菜单项之间水平线分隔开,方法是:在菜单中插入一个菜单项,将该菜单项控件的该菜单项控件的 属性设置为一个属性设置为一个 即可。即可。n4.可以为菜单项设置一个快捷键,快捷键由可以为菜单项设置一个快捷键,快捷键由 键和一个指定的字符组键和一个指定的字符组成。成。VBVB程序设计项目化教程程序设计项目化教程中国水利水电出版社中国水利水电出版社12.8 第第8步:程序打包,生成可执行文件步:程序打包,生成可执行文件EXEn二、思考题二、思考题 n1:为什么要把:为什么要把For循环的步长尽可能取小?循环的步长尽可能取小?n2:如何让正弦和余弦函数图像的颜色和线型不一样?:如何让正弦和余弦函数图像的颜色和线型不一样?n3:如何让图像随窗口的变化而变化?:如何让图像随窗口的变化而变化?n4:菜单编辑器中编辑菜单,如何设计菜单数组?:菜单编辑器中编辑菜单,如何设计菜单数组?
展开阅读全文