




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBasic程序设计项目化教程 主编管小清郭贺彬 项目十二绘制数学函数图像 项目目标 本项目利用VB提供的函数来绘制典型的数学函数图像 包括正弦函数图像 余弦函数图像和摆线 熟练使用PictureBox控件以及菜单编辑器进行界面设计 掌握在PictureBox中输出文本以及图形的方法 掌握Line 函数 Pset 函数 RGB 函数的使用方法 通过本项目的学习可以使得学习者掌握VB的绘图方法和菜单的设计与制作方法 项目十二绘制数学函数图像 项目主要知识点 1 图片框 PictureBox 的使用图片框 PictureBox图像框 Image2 Line函数的使用功能 绘制直线或矩形语法格式以及参数的含义3 菜单编辑器的使用下拉式菜单弹出式菜单分隔菜单项和快捷键 项目十二绘制数学函数图像 4 在图片框中输出文本与图形的方法5 Pset 函数的使用语法格式及参数含义6 RGB 函数的使用语法格式及参数含义7 窗体的Pain事件方法8 测试程序 完善程序的能力 项目十二绘制数学函数图像 项目实施步骤 阅读相关基础知识界面设计编程实现坐标系的绘制程序设计编写三角函数菜单中的事件过程编写摆线菜单的事件过程程序测试 进行功能完善程序打包 生成可执行文件EXE 12 1第1步 基础知识 12 1 1图片框 PictureBox 和图像框 Image 图片框 PictureBox 和图像框 Image 图片框控件和图像框控件都具有显示图形 图像 的功能 在窗体上添加图片框 PictureBox 控件和图像框 Image 控件 可实现在窗口中所需位置显示图像的目的 可加载到这两个控件上的图像文件格式有 位图 bmp dib cur 图标 ico 图元文件 wmf 增强型图元文件 emf JPEG或GIF文件 这两个控件图像的加载是通过给Picture属性设置装载的图形来实现的 具体的主要属性设置如下表所示 两个控件的属性基本一致 12 1第1步 基础知识 表12 1图片框和图像框的属性列表 12 1 2Line 函数 Line函数画线方法的主要功能实在窗体或控件的指定位置处绘制直线或者矩形等 语法格式 Line Step Step 颜色 B F 说明 对象名 指窗体 图片框等对象名 若缺省对象名 则在活动窗体上画线或者矩形 x1 y1 直线起点或者矩形左上角坐标 如果缺省 直线或矩形左上角坐标为 CuttentX CurrentY x2 y2 直线终点或者右下角坐标 该参数不能缺省 颜色 指定画线或矩形边的颜色 如果缺省该参数 则使用该对象的前景颜色画线 B 盒子 Box 之意 表示用Line方法画矩形 此时 x1 y1 和 x2 y2 或他们的变形为矩形左上角和右下角坐标 F 可选项 若选用 必须与B参数连用 用于指定画矩形边框时所用颜色来填充矩形区域 若画矩形时缺省此参数 则用当前的填充色 由FillColor指定 和填充样式 由FillStyle 12 1 2Line 函数 其中FillStyle的取值和属性的意义如下表 表12 2FillStyle属性值的不同意义 12 1 3Pset 函数 画点方法的功能实在窗体或控件的指定位置处绘制一个像素点 语法格式 Pset Step x y 对象名 指窗体 图片框等对象名 若缺省对象名 则在活动窗体上画点 x y 指定画点的坐标位置 x y必须是单精度数 可以是小数 数值表达式或者常量 颜色 可选项 缺省时画点选用由ForeColor设置的当前前景颜色 Step 可选项 选用该参数时 x y是在当前光标所在点坐标的基础上的增量 12 1 4RGB 函数 用来设置颜色的函数 格式为 RGB R G B 分别代表R红色 G代表绿色 B代表蓝色 每种颜色的取值范围是0 255 三种颜色的不同值形成新的颜色 例如 Form1 Forecolor RGB 125 56 79 12 1 5菜单 1 菜单分类 下拉式菜单 窗口的顶部有一个主菜单 称为菜单栏 单击菜单栏的某一个菜单项 打开一个包含菜单项的列表 子菜单 菜单栏中的选项称为菜单标题 弹出的子菜单列表中包含命令 分隔条和子菜单标题 右边有三角记号的菜单项 弹出式菜单 用鼠标指向某一个对象 或空白区域 单机鼠标右键弹出的菜单成为弹出式菜单 或称为 快捷菜单 上下文相关菜单 与下列式菜单的区别是 位置上不同 弹出式菜单显示位置会自动调整在合适处 2 菜单编辑器的使用VB的菜单也是一个控件 但菜单控件不在工具箱中 VB的菜单控件也具有外观和行为的属性 所以也需要定义其属性 但不是在属性窗口中设置属性值 而是在菜单编辑器窗口中设置的 菜单控件只能出发Click事件 菜单设计是在 菜单编辑器 中进行的 菜单编辑器 可用来创建菜单栏 也可以用来修改已存在的菜单 打开菜单编辑器有两种方法 12 1 5菜单 选择 工具 下拉菜单中的 菜单编辑器 选项 如图12 1所示 图12 1 工具 菜单中的 菜单编辑器 12 1 5菜单 单击工具栏中的 图标 即 菜单编辑器 按钮 图标位于工具栏上的方框部分 如图12 2所示 图12 2工具栏中的 菜单编辑器 12 1 5菜单 设置菜单控件的属性 菜单编辑器 标题栏下方的区域是属性区 属性区中的各个文本框用来设置菜单控件的属性 如 标题 名称 快捷键等 如图12 3所示 其主要属性如表12 3所示 图12 3菜单编辑器 12 1 5菜单 表12 3菜单编辑器中各参数的含义 12 1 5菜单 菜单属性区的下方是菜单编辑区 编辑区上方有7个控制按钮 编辑菜单要借助它 左 右箭头按钮 调整菜单项的级别 主菜单还是子菜单 通过这两个键 告诉系统所设计的菜单时主菜单还是子菜单 若菜单项前面没有内缩符号 则表示该菜单项是主菜单项 若菜单项前面有一个内缩符号 则表示该菜单项是子菜单项 前一个菜单项的子菜单 每增加一个内缩符号 相应的菜单级别向下一级 单击一次右箭头增加一个内缩符号 单击一次左箭头删除一个内缩符号 上下箭头按钮 是把当前位置的菜单项进行上下位置的调整 下一个 向后选定一个菜单控件 到了最后一个菜单项后单击该按钮 将增加一个空白菜单项 插入 在当前位置增加一个菜单项 删除 删除当前位置的菜单项 菜单编辑器窗口的空白区域用来输入所设计的菜单项 也可以看作是菜单控件的列表框 在其上列出了菜单项名称 级别和快捷键 12 1 5菜单 3 分隔菜单项和快捷键如果菜单项比较多 一般是子菜单项 而且类型比较明显 可以将同一类型的菜单项连在顺序存放 各类型之间用一条水平线分隔开 方法是 在菜单中插入一个菜单项 将该菜单项控件的 Caption 属性设置为一个连字符 即可 可以为菜单项设置一个快捷键 快捷键由Alt键和一个指定的字符组成 当用户按下这样一个组合键时 即可选中菜单控件 相当于该菜单项 执行相应的操作 设置快捷键的方法是 在设置控件的 Caption 属性时 在希望做快捷键的字符上添加一个符号 即可 设置好菜单后的菜单编辑器显示内容如图12 4所示 12 1 5菜单 图12 4设计好的菜单编辑器 12 1 5菜单 4 弹出式菜单弹出式菜单时独立于菜单栏的浮动菜单 它可以显示在窗体的任何一个地方 根据用户单击鼠标右键时的坐标动态地调整显示位置 弹出式菜单上的菜单项也取决于单击鼠标右键时光标的位置 建立弹出式菜单也是在 菜单编辑器 中完成的 弹出式菜单应至少有一个菜单项 弹出式菜单要用专门的方法来显示 即PopupMenu方法 语法格式为 窗体名 PopupMenu Flags x y BoldCommend 窗体名 指出在哪一个窗体上打开弹出式菜单 若省略 则在当前窗体打开弹出式菜单 菜单名 是指通过 菜单编辑器 设计出的至少含有一个选项的菜单名称 即Name属性值 Flags 位置参数 是一些常量数值的设置 包含位置和行为两个指定值 其中 位置常数 0 默认 表示菜单的左上角位于x 4表示菜单上框中央位于x 8表示菜单右上角位于x 行为常数 0 默认 表示菜单命令只接收右键单击 2表示菜单命令可接收左 右键单击 12 1 5菜单 BoldCommand 指定菜单中要以粗体字显示的菜单名称 12 2第2步 设计界面 设计界面 并修改相应各控件的属性添加窗体 修改属性Caption 数学函数图像Width 8500Height 4000在窗体中添加菜单项 各菜单项如表12 4所示 12 2第2步 设计界面 表12 4项目中的菜单项 12 2第2步 设计界面 在窗体上添加图片框 并修改相应的属性 Height 8300Width 3600 界面设计效果如图12 5所示 图12 5项目界面 12 3第3步 编程实现坐标系的绘制 编程思路 数学函数图像必须在固定的坐标系中完成 坐标系的绘制采用Line函数 分别画水平和垂直的两条直线 并用Line函数绘制刻度 编写窗体的Paint事件代码如下 PrivateSubForm Paint Constpi 3 1415926WithPicture1 在PictureBox控件中绘制坐标系 Top 0 Left 0 Width Me ScaleWidth 当前的宽度 Height Me ScaleHeight 当前的高度 ScaleMode 6oldx ScaleWidth 2oldy ScaleHeight 2 Cls 12 3第3步 编程实现坐标系的绘制 画坐标轴方法如下Picture1 Line oldx 0 oldx ScaleHeight RGB 255 0 0 绘制X轴Picture1 Line 0 oldy ScaleWidth oldy RGB 255 0 0 绘制Y轴EndWithPicture1 CurrentX oldx 4 原点的横坐标Picture1 CurrentY oldy 0 5 原点的纵坐标Picture1 Print0 12 3第3步 编程实现坐标系的绘制 画x轴的刻度方法如下Forxt Int oldx ToInt oldx Step0 5Ifxt0Thenst xt 10 piPicture1 CurrentX oldx st 3 x轴上刻度值的横坐标Picture1 CurrentY oldy 0 5 x轴上刻度值的纵坐标Picture1 Printxt 从Word中插入Picture1 Line oldx st oldy 1 oldx st oldy RGB 255 0 0 画X轴上的刻度EndIfNextxt 12 3第3步 编程实现坐标系的绘制 画y轴的刻度方法如下Foryt 5To7Ifyt0Thenst yt 10Picture1 CurrentX oldx 4 刻度值的横坐标Picture1 CurrentY oldy st 1 刻度值的纵坐标Picture1 PrintytPicture1 Line oldx oldy st oldx 1 oldy st RGB 255 0 0 画Y轴上的刻度EndIfNextytEndSub 12 3第3步 编程实现坐标系的绘制 程序效果如图12 6所示 图12 6项目中绘制的坐标系 12 4第4步 编写三角函数菜单中的事件过程 编程思路 正弦函数和余弦函数的绘制则在For循环结构中利用Pset函数绘制 步长的值尽量取得小一些 程序代码如下PrivateSubhs1 Click IndexAsInteger oldx Picture1 ScaleWidth 2oldy Picture1 ScaleHeight 2SelectCaseIndexCase0 绘制正弦函数的方法如下Fort oldxTooldxStep0 01xt 10 tyt 10 Sin t Picture1 PSet xt oldx oldy yt RGB 0 127 127 Nextt 12 4第4步 编写三角函数菜单中的事件过程 Case1 绘制余弦函数的方法如下Fort oldxTooldxStep0 01xt 10 tyt 10 Cos t Picture1 PSet xt oldx oldy yt RGB 0 127 127 NexttCase2 清除Picture1 ClsForm Paint 调用Paint事件 重新绘制坐标系ExitSubEndSelectEndSub 12 4第4步 编写三角函数菜单中的事件过程 效果如图12 7所示 图12 7正余弦函数图像 12 5第5步 编写摆线菜单的事件过程 编程思路 通过a b的值根据公式来确立摆线的形状 程序代码如下 PrivateSubm Click IndexAsInteger n IndexSelectCasenCase0a 12 b 8Case1a 12 b 4Case2m取不同的值 a b对应的值的变化a 12 b 3Case3a 12 b 2 4Case4a 12 b 4 12 5第5步 编写摆线菜单的事件过程 Case5 清除Picture1 ClsForm PaintExitSubEndSelectoldx Picture1 ScaleWidth 2oldy Picture1 ScaleHeight 2Fort 0To4 3 1415926Step0 01xt a b Cos t b Cos a b t b 根据公式计算点的横坐标yt a b Sin t b Sin a b t b 根据公式计算点的纵坐标Picture1 PSet xt oldx oldy yt vbBlueNexttEndSub 12 5第5步 编写摆线菜单的事件过程 程序效果如图12 8 图12 8摆线图像 12 6第6步 编写关闭菜单程序 所用语句 Unloadme 12 7第7步 程序测试 进行功能完善 待完善功能包括把摆线的形状设计的更多一些 不同的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》测试卷及1套参考答案详解
- 2025年教师招聘之《幼儿教师招聘》模拟试题附参考答案详解【夺分金卷】
- 2025年安全生产管理人员继续教育综合试卷(附答案)
- 2016年cpa会计考试真题及答案
- 手术室十大安全目标试题(附答案)
- 2025基础写作自考试题及答案
- 申论的决战题库及答案
- 施工电梯司机安全培训考试试题与答案
- 无创呼吸机培训考核试题及答案
- 护理交班制度培训试卷模板(附答案)
- 访问控制安全管理制度
- 小学生青春期教学课件
- NEDD4在非小细胞肺癌EGFR-TKIs继发耐药中的作用机制与临床启示
- 车辆按揭押金合同协议
- 耳穴压豆法在临床中的应用
- 2024心肺复苏操作考核评分标准
- 2025春季学期国开电大专科《政治学原理》一平台在线形考(形考任务二)试题及答案
- 内镜标本规范处理
- 汽车电工电子基础电子教案2电流、电压和电位
- 2025年通力扶梯e1试题及答案
- 老年临床营养支持
评论
0/150
提交评论