Frame1中添加一个文本框Text2 Frame2中添加一个文件列表框File1 Frame3中添加一个组合框Combo1
Frame4中添加一个驱动器列表框Drive1和一个目录列表框Dir1 设置Text1 的multiline属性为True,ScrollBars属性为2-Vertical 设置Combo1的list属性为*.Txt, *.Dat
参考代码:
Private Sub Combo1_Click()
aa = Combo1.List(Combo1.ListIndex) File1.Pattern = aa End Sub
Private Sub Command1_Click(Index As Integer) Select Case Index Case 0
If Text1.Text <> \
Open Text1.Text For Output As #1 Print #1, Text1.Text Close #1 End If Case 1
If Text1.Text <> \ Text2.Text = \
Open Text1.Text For Input As #1 b = \
Do Until EOF(1)
Line Input #1, nextline
b = b & nextline & Chr(13) & Chr(10) Loop Close #1
Text2.Text = b End If End Select End Sub
Private Sub Dir1_Change() File1.Path = Dir1.Path Text1.Text = Dir1.Path End Sub
Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub
Private Sub File1_Click()
16
Text1.Text = File1.Path & \End Sub
Private Sub Form_Load() File1.Pattern = \End Sub
3.4 思考题
顺序文件和随机文件的区别?
17
实验4 菜单、工具和图形图像
4.1实验目的
熟悉并使用菜单(下拉式菜单、弹出式菜单);熟悉并使用工具栏(用手工方式制作工具栏、Toolbar控件与ImageList控件);熟悉并使用公共对话框(CommonDialog);掌握图形的绘制;掌握图像控件和图片框控件的使用;
4.2相关知识 4.2.1菜单
菜单具有多种不同的样式,其中最常用的是标准下拉菜单,其构成包括:菜单栏、菜单标题、菜单列表、菜单项等成分,它们按照层次关系合理组织。
标准下拉菜单般被用于表现应用程序的操作框架。因此,一个能满足用户基本要求的下拉菜单,其设计至少应该能够把应用中的分层、分类关系表现出来。编排合理、条理清晰的菜单,不但会使程序以后更加好用,而且也将有利于程序的实现。
Visual Basic中的菜单也是对象。菜单中各个元素都可以被当作控件对象,并具有和命令按钮相似的属性。其主要属性有:
.Name属性:菜单对象标识符。 .Caption属性:菜单对象标题。
.Index属性:菜单控件数组中元素的索引标识号。 .Checked属性:设置是否在菜单项旁出现复选标记。 .Enabled属性:设置菜单对象是否有效。
.Shortcut属性:用于设置菜单对象的快捷键。 .Visible属性:设置菜单对象是否可见。
.WindowsList属性:设置是否在该菜单项下给出MDI子窗口列表。
任何菜单对象只有一个Click事件。当某个菜单对象被选中时,与其相关的Click事件也随之被激活。可以使用菜单编辑器编辑菜单。通过菜单命令“工具/菜单编辑器”,或在工具栏上单击“菜单编辑器”按钮,能够打开菜单编辑器,如图4-1所示。
18
图4-1菜单编辑器
弹出式菜单是独立于菜单栏而显示在窗体上的浮动菜单,也被称为上下文菜单,可以通过单击鼠标右键来激活上下文菜单。弹出式菜单实质上是标准下拉菜单中某个菜单标题下的菜单项列表,只是激活方式不同而己。为了显示弹出式菜单,可以使用PopupMenu方法。该方法的语法如下:
[object.]PopupMenu menuname [,flags [,x [,y[,boldcommand ] ] ] ]
4.2.3工具栏
工具栏是用来配合菜单的。工具栏具有菜单所缺少的图形化的外观,而且提供了比菜单更快捷的访问方式。因此,利用工具栏与应用程序中最常用的菜单命令建立联系,可以提高应用程序的用户操作速度。
Visual Basic 6.0提供了用于制作工具栏的ToolBar控件,并通过ImageList控件获得工具栏上的按钮需要的图标。ToolBar、ImageList控件是ActiveX控件,为了使用它们,需要先将Microsoft Windows Common Controls 6.0引入到工具箱中。
4.2.3 公共对话框(CommonDialog)
公共对话框控件能够提供一组标准的Windows常规操作对话框,例如:打开文件对话框、保存文件对话框、打印设置对话枢、颜色设置对话框、字体设置对话框。
要使用公共对话框,需要在“部件” 对话框中选择Microsoft CommonDialog Control组件到工具箱中。
4.2.4坐标系统
当通过Visual Basic作图时,往往要通过一定的能够容纳图形的容器(如:窗体、图片框)并依靠在这些容器上的坐标系统才能表现出来。
坐标系统是一个二维网格,可用来定义屏幕上、窗体中或图片框上的位置。例如窗体中的坐标,可以使用(x,y)来表示。其中,x值是沿x轴点的位置,最左端是默认位置0。y值是沿Y轴点的位置,最上端是默认位置0。其他容器上的坐标系统和窗体类似。实际上,坐标系统不仅用在作图上,它也用来定义窗体和控件在应用程序中的位置。
4.2.5绘图方法
在VBasic中可以使用作图方法构造图形,主要方法有:Cls、PSet、Point、Line、Circle。 1)使用PSet方法画点
语法格式如下:[object.] PSet (x,y)[ , color]
其中,x和y参数是单精度参数,它们可以接受整数或分数的输入。输入可以是任何数值表达式。color用来设置所画点的颜色,如果没有包括color参数,PSet将像素设置为前景色(ForeColor)。
例如,下述语句在代码所连接的当前窗体、MyForm窗体、picPicturel图片框上画点。 PSet(50,75), RGB(0,0,255) MyForm.PSet(230,1000) PicPicturel.PSet(1.5,3.2) 2)使用Line方法画直线
语法格式如下:[object.] Line [(x1,y1)] –(x2,y2) [,color]
其中Object是可选的,若省略,此方法将在代码所连接的当前窗体上画线。第一对坐标(x1, yl)也是可选的,如果省略,将把该对象的x, y当前位置(画图坐标)作为端点。
例如,以下语句通过三点连接画出一个三角形。
19
CurrentX=1500 ’设置起点的x坐标 CurrentY=500 ’设置起点的Y坐标 Line-(3000,2000) ’向起点的右下方画一直线 Line-(1500,2000) ’向当前点的左方画一直线 Line-(1500,500) ’向右上方画一直线到起点 3)使用Line方法绘制方框
可以使用Line方法绘制并填充方框,这时要用到该方法的Step关键字。 例如,下列语句能画出一个边长为1000缇的方框。 Line(500,500)- Step(1000,0) Line - Step(0,1000) Line - Step(-1000,0) Line - Step(0,-1000) 4)使用Circle方法画圆
使用Circle方法可以画出圆形和椭圆形。另外,Circle方法还可以画出圆弧和楔形饼块。使用变化的Circle方法,可以画出多种曲线。
画一个理想圆的语法如下:[object.]Circle [Step] (x,y),radius[,color] 其中,x参数和y参数是圆心坐标,radius参数是圆的半径。
例如,画一个以(1200,1000)为圆心、750为半径的圆:Circle(1200,1000),750 5)使用Circle方法画椭圆
通过圆的方位比,可以决定它是圆还是被拉长的椭圆。 Circle方法画椭圆的完整语法如下:
[obi ect. ] Circle [Step] (x ,y),radius,[color],[start],[end] [, aspect]
其中,start参数和end参数是可选的。参数可以省略,但参数之间的逗号不能省略。另外,aspect参数指定了水平长度和垂直长度比,它是正浮点数。aspect参数较大时,椭圆沿垂直轴线拉长;aspect参数较小时,椭圆沿水平轴线拉长。
4.3实验项目
4.3.1编写包含菜单的计算程序
首先按照以下图设计界面,将两个文本框的Name名称属性改成Txtno1,Txtno2,将输出标签的Name名称属性改成LblResult,其他3个标签的caption改成“操作数1”,“操作数2”和“计算结果”。
然后使用菜单编辑器设计菜单,属性如下表: 菜单项 名 称 Cal1 计算1 20
快捷键