《VB程序设计第六章》PPT课件.ppt_第1页
《VB程序设计第六章》PPT课件.ppt_第2页
《VB程序设计第六章》PPT课件.ppt_第3页
《VB程序设计第六章》PPT课件.ppt_第4页
《VB程序设计第六章》PPT课件.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

Visual Basic 程序设计教程,,内蒙古科技大学实践训练中心,第六章 常用控件,6.1 图形控件,6.1.1 图片框和图像框 1、图片框 (PictureBox) 图片框(PictureBox)主要用来显示图片和图像。 可以显示的图形文件格式:位图()*.bmp;图标(*.ico)、光标(*.cur)、 元文件(*.wmf)、增强的元文件(*.emf)、JPEG文件(*.jpg)、GIF文件 (*.gif); 在图片框中显示图片的方法: 在属性窗口设置Picture属性; 在代码中使用LoadPicture()函数载入图片: 图片框对象名.Picture=LoadPicture(“图形文件名”) 其中:图形文件名是包括路径在内的图形文件名。,6.1 图形控件,6.1.1 图片框和图像框 清除图片框中的图形的方法: 在属性窗口中直接删除Picture属性内容; 在代码中使用LoadPicture()函数清除图片: 图片框对象名.Picture=LoadPicture(“”) 或 图片框对象名.Picture=LoadPicture() 图片框自动缩放: 修改AutoSize属性值为True,则图片框自动调整大小以适应图形。,6.1 图形控件,6.1.1 图片框和图像框 图片框还可以显示用Print方法产生的文本和用图形方法绘制的图形, 其清除方法: 图片框对象名.Cls 图片框还可以作为其他控件的容器: 当图片框移动时,图片框内的其他控件也随之移动; 对于这些控件而言,其Top、Left属性是相对于图片框而言的;,6.1 图形控件,6.1.1 图片框和图像框 2、图像框 (Image) 与图片框的区别: 图片框是容器控件,而图像框不能作为容器; 图片框可以利用Print方法显示文本,图像框则不能; 图像框比图片框占用内存少,显示速度快,故当两者都满足设计者 的要求时,优先考虑图像框; 图片框用AutoSize属性控制图片框的尺寸自动适应图片的大小,图 像框用Stretch属性对图片进行大小调整;,6.1 图形控件,6.1.1 图片框和图像框 2、图像框 (Image) 对于加载到图片框或图像框的图片,可使用SavePicture命令将图形保存 到磁盘上。 SavePicture 对象名.属性,文件名 其中: 对象名为选定的图片框或图像框; 属性为图形属性,如Picture; 文件名指 图形保存的文件名,目前只支持BMP文件;,6.1 图形控件,6.1.1 图片框和图像框 例6-1_1图片框示例。在窗体上画一个图片框,名为P1,高为1900,宽为 2400,编写适当的事件过程,使得在运行时若单击窗体,则装入D盘的文 件名为Pic1.jpg的图片,若双击窗体,则窗体中的图片消失。 解题思路:装入图片的方法:Loadpicture(“d:pic1.jpg”); 清除图片的方法:Loadpicture(“”)或Loadpicture();,Private Sub Form_Click() P1.Picture = LoadPicture(“d:pic1.jpg“) End Sub Private Sub Form_DblClick() P1.Picture = LoadPicture() End Sub,6.1 图形控件,6.1.1 图片框和图像框 例6-1_2交换图形。编写程序,交换两个图像框中的图形。 解题思路:交换两个变量的值一般要引入第三个变量进行交换。本题借助于 第三个图像框实现交换。,Image3.Picture = Image1.Picture Image1.Picture = Image2.Picture Image2.Picture = Image3.Picture,6.1 图形控件,6.1.2 形状(Shape)和直线(Line) 1、形状(Shape) 功能:用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。 形状控件放置到窗体上或图片框上时,原始显示为正方形,通过设置 Shape属性可得到需要的图形。,另:BorderColor:设置形状的边框颜色; FillStyle:填充类别,取值范围:0-7,分别表示不同的填充方式 FillColor:形状的填充颜色,6.1 图形控件,6.1.2 形状(Shape)和直线(Line) 2、直线(Line) 功能:用来画水平线、垂直线或对角线。 通过设置该控件的位置、长度、颜色、宽度、线型等属性可产生不同风 格的、不同颜色的直线。 BorderStyle:用于设置线条的类型;,6.1 图形控件,6.1.2 形状(Shape)和直线(Line) 2、直线(Line) BorderWidth:用于设置线条的宽度,即线条的粗细; BorderColor:由于设置线条的颜色; 例6-1_3 形状控件实例。在窗体上利用形状控件画一个矩形,名称为 Shape1,高和宽分别为1000、1700;再画两个命令按钮,名称分别为 command1、command2,标题分别为“绿色椭圆”,“红色圆”。 解题思路:形状的属性shape2为椭圆;形状的属性shape3为圆;,Private Sub Command1_Click() Shape1.Shape = 2 shape2为椭圆 Shape1.BorderColor = vbGreen 边框为绿色 End Sub Private Sub Command2_Click() Shape1.BorderColor = vbRed 边框颜色为红色 Shape1.Shape = 3 shape3为圆 End Sub,6.1 图形控件,6.1.2 形状(Shape)和直线(Line) 例6-1_4 用形状控件和直线控件绘制直方图。 解题思路:首先画出x轴(line1)和y轴(line2),根据输入的四个值; 首先确定四个标签(显示输入值)的位置; 用输入的四个值来代替四个形状的高度(Height); 再根据其代表的值确定形状的顶部坐标(TOP);,label1,label2,label3,label4,(x1,y1),(x1,y2),(x2,y1),height,top,Line1,Line2,6.1 图形控件,6.1.3 图形方法 使用绘图方法,首先确定所画图形的位置,这就需要先确定坐标系。 当新建一个窗体时,新窗体采用缺省坐标系,坐标原点在窗体左上角, Height3600,Width4800, Scale Height3195,Scale Width4680。 其中:Scale Height 和Scale Width为窗体的实际可用的高度和宽度。 自定义坐标系的方法: 对象名.Scale(xLeft,yTop)(xRight,yBottom) 其中:(xLeft,yTop)、(xRight,yBottom)为对象左上角和右下角坐标,窗体,6.1 图形控件,6.1.3 图形方法 1、画点方法(Pset) 用于在指定的位置以指定的颜色画点。 格式: 对象名.Pset step (x,y) ,颜色 其中:对象名:窗体或图片框(picturebox)的名称; Step:可选项,有该参数,表明所画的点坐标(x,y)是相对坐标 (相对于当前坐标点CurrentX,CurrentY),没有该参数, 点坐标(x,y)为绝对坐标。 颜色:点的颜色,若省略则采用对象的前景色(ForeColor)。 如:Pset(70,70),RGB(255,255,0) 设置点的颜色为RGB颜色 Pset(70,70),BackColor 设置点的颜色为背景色,6.1 图形控件,6.1.3 图形方法 例6-1_5窗体上随机画带颜色的点,实现满天星效果。 解题思路:利用随机函数Rnd,确定每个点的随机坐标和颜色的随机值,Dim m_x, m_y, m_red, m_green, m_blue As Long Scale (0, 0)-(100, 100) 自定义坐标 DrawWidth = 8 设置点的大小 m_x = Rnd * 100 设置随即坐标m_x,m_y m_y = Rnd * 100 m_red = Rnd * 255 设置随机颜色 m_green = Rnd * 255 m_blue = Rnd * 255 PSet (m_x, m_y), RGB(m_red, m_green, m_blue) 画点,6.1 图形控件,6.1.3 图形方法 例6-1_6用Pset方法绘制以下参数方程决定的曲线 xsin2t*cost 0t 2 y=sin2t*sint 0t 2 解题思路:根据方程:x、y的值均在11之间,所以自定义坐标系: 将窗体的坐上角的坐标设为(-1,1);右下角的坐标为(1,-1); 即:scale(-1,1)-(1,-1),(0,0),(1,0),x,y,(-1,0),窗体,Dim t, x, y As Single Scale (-1, 1)-(1, -1) ForeColor = vbRed For t = 0 To 2 * 3.1415926 Step 0.001 x = Sin(2 * t) * Cos(t) y = Sin(2 * t) * Sin(t) PSet (x, y), RGB(255, 0, 0) Next,6.1 图形控件,6.1.3 图形方法 2、画直线、矩形方法 Line方法可用于画直线和矩形; 格式:对象名.LineStep(x1,y1)Step(x2,y2),颜色,BF 其中: 对象名:窗体或图片框(picturebox); Step:可选项,有该参数时,表示坐标为相对于当前点的坐标,否 则为绝对坐标。 (x1,y1):起点坐标;若省略,则表示起点为(currentX,currentY) (x2,y2):终点或右下角坐标 颜色:直线或矩形的颜色,若省略则使用ForeColor属性指定的颜色 B:若有B,则以(x1,y1)为左上角,以(x2,y2)为右下角坐标画 矩形; F:在选择参数B后才能选择,有F表示矩形以矩形边框的颜色 填充,否则,矩形用属性Fillcolor和Fillstyle填充;,6.1 图形控件,6.1.3 图形方法 2、画直线、矩形方法 例6-1_7用Line方法画三角形和矩形。 解题思路:画三角形:前一条直线的终点就是后一条直线的起点 ,依次画完 三条线就构成三角形。,rem 自定义坐标系,左上角(0,0),右下角(100,100) Scale (0, 0)-(100, 100) DrawWidth = 5 rem 画三角形 Line (10, 30)-(10, 80), vbRed (10,30)-(10,80) Line -(40, 80), vbGreen (10,80)-(40,80) Line -(10, 30), vbBlue (40,80)-(10,30) rem 画矩形 Line (50, 30)-(80, 80), vbRed, BF,6.1 图形控件,6.1.3 图形方法 3、画圆方法 Circle方法用于画圆、椭圆、圆弧和扇形; 格式: 对象名.CircleStep(x,y),radius,color,start,end,aspect 其中: 对象名:窗体或图片框; Step:可选项,有该参数时表示坐标为相对于当前点的坐标,否则 为绝对坐标。 (x,y):中心坐标 Radius:半径 Color:边框颜色,若省略则使用ForeColor属性指定的颜色; Start,End:指定弧的起始、终止位置,以弧度为单位, 取值:22;负号表示在画弧的同时,还画出圆心到弧的 的端点的连线; Aspect:表示纵轴和横轴的尺寸比,Aspect1,表示在y轴方向画椭圆,默认为1;,6.1 图形控件,6.1.3 图形方法 3、画圆方法 例6-1_8用Circle方法画圆。,Scale (0, 0)-(100, 100) 自定义坐标系 Const pi = 3.1415926 Circle (25, 50), 20 画标准圆 Circle (25, 50), 20, vbGreen, , , 0.5 画绿色椭圆,纵横比0.5 Circle (25, 50), 20, vbRed, , , 2 画红色椭圆,纵横比2 Circle (75, 50), 20, , -0.25 * pi, -0.75 * pi 画扇形 Circle (75, 50), 20, , 1.25 * pi, 1.75 * pi 画扇形 Circle (50, 70), 20, , -0.25 * pi, 0.75 * pi 画扇形,6.2 选择性控件,6.2.1 单选钮、复选框 和框架 1、单选钮和复选框 单选钮(OptionButton)和复选框(CheckBox)常用来表示“选中”或“不选”两 种状态,单选钮用” ”表示被选中,复选框用“”表示被选中。 、主要属性 Caption:单选钮和复选框的文本标题 Value:,注意事项: 同一组单选钮中只能有一个被选中,即只能有一个单选钮的Value 属性值为True;而对于同一组复选框,则允许多个被选中,而且其 选中状态为反复的。,6.2 选择性控件,6.2.1 单选钮、复选框和框架 例6_9用复选框属性设置示例。 设置4个复选框,状态如下: 北京 选中 可用 上海 未选中 可用 广州 选中 不可用 深圳 未选中 不可用 解题思路:“选中”用属性value的“checked”值表示; “未选中”用属性value的“unchecked”值表示; “可用”用属性enabled的“true”值表示; “不可用”用属性enabled的“false”值表示;,6.2 选择性控件,6.2.1 单选钮、复选框和框架 2、主要事件: 单选钮和复选框都能相应Click等事件,由于鼠标单击即能改变其Value属 性值,故可根据Value属性值决定执行处理过程。 例6_10用单选钮和复选框设置文字的字体字形。 解题思路:由于一组单选钮只能有一个被选中,因此,在单选钮的click事件 中直接给文本框的文字赋相应的值即可;复选框的选中状态是反复的,因此 需要判断复选框的value值,而后再给文本框的文字赋相应的值。,6.2 选择性控件,6.2.1 单选钮、复选框和框架 例6-1 用单选钮来设置文本框的背景颜色,即改变文本框的BackColor。 解题思路:由于每点击一次单选钮,就表示单选钮被选中;因此在单选钮的click事件中,对文本框的背景色进行相应的赋值。,设置文本框背景色为红色 Text1.BackColor = vbRed 设置文本框背景色为绿色 Text1.BackColor = vbGreen 设置文本框背景色为蓝色 Text1.BackColor = vbBlue,6.2 选择性控件,6.2.1 单选钮、复选框和框架 例6-11 在窗体上放置三个复选框,标题依次为“旅游”、“体育”、“音乐”,另有一个命令按钮,标题为“兴趣”。程序运行后,选中复选框,再点击命令按钮,则在窗体上显示相应的的信息。 解题思路:由于每点击一次单选钮,就表示单选钮被选中;因此在单选钮的click事件中,依次判断各个单选钮是否被选中,若选中,则将命令按钮的标题和复选框的标题连接起来,最后将该字符串显示出来。,6.2 选择性控件,6.2.1 单选钮、复选框和框架 2、框架 (Frame) 框架(Frame)是用来对窗体上的对象进行分组。 比如有两组不同类别的单选钮,若不用框架分组,则这些单选钮只能有一个的Value属性值为True,用框架分组后,则每组单选钮均可有一个Value属性值为True。 主要属性: Caption:用于设置框架上的可见文字说明,若为空,则框架成为一个封闭 的矩形框; Enabled:决定框架控件是否有效; Visible: 决定框架控件是否可见;,6.2 选择性控件,6.2.1 单选钮、复选框和框架 2、框架 (Frame) 例6-2用一组单选钮来设置文本框的背景色,另一组单选钮来设置文本框中文字的字体。 解题思路:设置两个框架(Frame),将两组单选钮各放其中,然后,编写每个单选钮的click事件。,If Option1.Value = True Then Text1.BackColor = vbRed If Option2.Value = True Then Text1.BackColor = vbGreen If Option3.Value = True Then Text1.BackColor = vbBlue If Option4.Value = True Then Text1.FontName = “楷体_gb2312“ If Option5.Value = True Then Text1.FontName = “黑体“ If Option6.Value = True Then Text1.FontName = “宋体“,6.2 选择性控件,6.2.1 单选钮、复选框和框架 2、框架 (Frame) 例6-2_12用一组单选钮来设置文本中字体,另一组单选钮设置文本框中 的字体颜色。 解题思路:设置两个框架(Frame),将两组单选钮各放其中,将具体的程序写入命令按钮的click事件中。,Rem 字体为宋体,字体颜色为红色 If Option1.Value = True And Option3.Value = True Then Text1.Text = “您选择了宋体红色“ Text1.FontName = “宋体“ Text1.ForeColor = vbRed End If ,6.2 选择性控件,6.2.2 列表框和组合框 1、列表框(ListBox) 列表框用于显示一个项目列表,用户可以选择其中的一项或多项。 若列表框中的内容超过可显示的数目,则自动增加滚动条; 用户只能从列表框中选择内容,而不能直接写入和修改其中的内容;,列表框,6.2 选择性控件,6.2.2 列表框和组合框 1、列表框(ListBox) 主要属性:,6.2 选择性控件,6.2.2 列表框和组合框 注意: List属性用来设置列表框的内容;该属性是一个字符数组,数组大小由 “ListCount”属性决定,数组下标从0开始,运行时,引用列表框的 第一项是“List(0)”,第二项是”list(1)”依此类推。 List(List1.listIndex)等于Text, List1.List(List1.ListIndex)=List1.Text; 即:List1.text为列表框中选中的项目的内容; List数组和Selected数组在程序中使用时,通常应在数组元素前加上对 象名List1。数组元素的完整表示为:List1.List(0),List1.List(1) 和List1.Selected(0),List1.Selected(1)等; List1.ListIndex 为列表框中选中项目的位置;,6.2 选择性控件,6.2.2 列表框和组合框 、事件 列表框接受Click、Dblclick等一些常用事件; 、方法 AddItem方法 格式:.Additem 项目字符串,位置值 该方法是将项目字符串所指定的一个项目插入到由位置值所指定的 位置上,位置值由0ListCount1,每插入一项,ListCount属性 自动加1,若省略位置值,则新增的项目添加到最后。 Clear方法 格式:.Clear 该方法用于清除列表框中所有的项目,将ListCount属性值置为0。 RemoveItem 格式:.RemoveItem 位置值 该方法将指定位置上的项目从列表框中删除,ListCount属性值减1;,6.2 选择性控件,6.2.2 列表框和组合框 例6-3_1 显示列表框的基本属性。在列表框中加入若干内容,单击列表 框中的某一项,则在窗体上显示列表框的内容项以及该项在列表框中的位 置。 解题思路:在列表框的click事件中编写程序:显示列表框的内容项 list1.text和该项的位置list1.listindex;。,Private Sub List1_Click() Print List1.Text; List1.ListIndex End Sub,6.2 选择性控件,6.2.2 列表框和组合框 例6-3 交换两个列表框中的项目,其中一个列表框的项目为“a,b,c”,按 字母数字升序排列,另一个列表框中的项目为”1、2、3“,按加入的先后顺序 排列,程序运行后,双击某一个列表框中的一个项目,该项目会移动到另一 个列表框,并从原列表框中删除。 解题思路:在窗体上创建两个列表框,其中一个Sorted属性值设为True,另一 个的Sorted属性值设为False,其他属性值均使用默认值,在各自的dblclick 事件中编写程序:首先将选定的项目增加到另一个列表框中,再从本列表框中 删除该项目。,6.2 选择性控件,6.2.2 列表框和组合框 例6-2_4列表框项目添加和删除。在窗体上画两个单选钮,再画一个列表框和一个文本框,程序运行后,选择添加项目到列表框或删除列表框中的项目,若后点击窗体执行程序。 解题思路:在窗体的click事件中首先判断单旋钮的选中状况,而后对列表框执行增加或删除命令。,Dim i As Integer If Option1.Value = True Then Text1.Text = InputBox(“请输入要添加的项目:“) List1.AddItem Text1.Text End If If Option2.Value = True Then Text1.Text = InputBox(“请输入要删除的项目:“) 遍历列表框中的每一项, 若项目内容与文本框的内容相同,则删除该项目 For i = 0 To List1.ListCount - 1 If List1.List(i) = Text1.Text Then List1.RemoveItem i End If Next End If,6.2 选择性控件,6.2.2 列表框和组合框 2、组合框(ComboBox) 组合框是综合列表框和文本框的特性而成的一个控件。 组合框既可以像文本框一样接受用户输入,也可以像列表框一样列举多个项目供用户选择,默认名称为Combo1.,6.2 选择性控件,6.2.2 列表框和组合框 2、组合框(ComboBox) 主要属性:,6.2 选择性控件,6.2.2 列表框和组合框 主要事件: 组合框响应的事件依赖于Style属性值“ Style0,可响应Click、Dblclick、Change和DropDown事件; Style1,可响应Click、Change事件; Style2,可响应Click和DropDown事件; 当用户单击组合框右端的向下小箭头时,将触发DropDown事件。 主要方法: 常用方法同列表框,有AddItem、Clear和RemoveItem方法。,6.2 选择性控件,6.2.2 列表框和组合框 例6-4_0组合框应用。在窗体上画两个组合框,一个显示的字体号,一个设置显示的字体。 解题思路:组合框的click事件中编写相应的命令:分别设置标签的字体号和字体名称。,Private Sub Combo1_Click() Label3.FontSize = Combo1.Text End Sub Private Sub Combo2_Click() Label3.FontName = Combo2.Text End Sub,6.2 选择性控件,6.2.2 列表框和组合框 例6-4_1组合框应用一。用户输入教师的姓名,根据组合框提示选择性别、职称和学历四项基本信息,按“确定”命令按钮后将一个教师的四项基本信息写入一个列表框内。 解题思路:在窗体的load事件中,给”性别“、”职称“、”学历“赋予初值,而后在命令按钮中编写列表框的增加项目的命令。,6.2 选择性控件,6.2.2 列表框和组合框 例6-4_2 组合框应用二。程序运行时,分别在两个组合框输入姓名和籍 贯,单击“添加”将其添加;在组合框中选择相应的项目后,单击“删除”将 其删除;“按统计”按钮,统计组合框中项目的个数,6.3 滚动条,滚动条分为水平滚动条(HScrollBar)和垂直滚动条(VScrollBar); 1、主要属性:,6.3 滚动条,2、主要事件 Scroll事件:当在滚动条内拖动滚动块时触发的事件; Change事件:当滚动块被移动到新位置后或在程序执行过程中Value属 性值发生变化触发的事件; 例6-5设计一个用于设置速度的滚动条。 解题思路:由于拖动滚动条或在滚动条区域内点击鼠标,都会改变滚动条的value属性值,根据滚动条返回的value值,显示在文本框和标签里。,Private Sub HScroll1_Change() Text1.Text = HScroll1.Value End Sub Private Sub HScroll1_Scroll() Label4.Caption = “moving to “ & HScroll1.Value End Sub,6.3 滚动条,例6-5_1用滚动条扩大和缩小窗体。在窗体上画一个垂直滚动条和一个水平滚动条;程序运行后,若滚动滚动条上的滚动滑块,则可扩大和缩小窗体。 解题思路:首先在窗体的Load事件对窗体和滚动条进行初始化,利用滚动条的scroll事件,横滚动条放大窗体的宽度(width),竖滚动条放大窗体的高度(height)。,Private Sub HScroll1_Scroll() Form1.Width = Form1.Tag * HScroll1.Value / HScroll1.Min End Sub Private Sub VScroll1_Scroll() Form1.Height = Form1.Tag * VScroll1.Value / VScroll1.Min End Sub,6.4 时钟,VB系统提供了一个时钟控件(Timer),用户可以通过该控件使用系统时钟来计时,也允许用户自己定制时间,每一个时间间隔内出发一个计时器事件。 1、主要属性 Interval:用于决定时钟触发事件的事件间隔;为整型值, 取值范围:065535,单位:毫秒。 Enabled:设置时钟控件是否有效。 2、主要事件 Timer:每经过一个Interval属性设定的时间间隔,就触发一次Timer 事件。,6.4 时钟,例6-6 设计一个数字时钟。 解题思路:根据Timer控件设置的的Interval属性值为1000,每隔一次Interval,就利用vb的time函数获取一次系统时间。,Private Sub Timer1_Timer() Label1.FontName = “times new roman“ Label1.FontSize = 48 Label1.Caption = Time$ time函数获取当前系统时间 End Sub,6.4 时钟,例6-6_1利用Timer控件,移动窗体上的控件。 解题思路:在Form的Load事件中,设置Timer控件的Interval和Enabled属性,每隔一次Interval,标签的Top就减一次100个单位,向上移动一次。,Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Form_Load() Timer1.Enabled = False Tim

温馨提示

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

评论

0/150

提交评论