第4章 数据的输入输出和图形控件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.03.2019 19
4.4 图形控件及图形方法
主要控件 Picture Image Line Shape
主要方法 Pset Line Circle
10.03.2019
20
4.4
图形控件
4.4.1 图片框和图像框
窗体、图形框和图像框可以显示来自图形文件的图形。
图形文件的存储形式有多种,常见有以下几种: (1)位图(Bitmap):用像素表示的图像,将它作为位 的集合存储起来,每个位都对应一个像素。(.Bmp) (2)图标(Icon):图标是位图,最大为32 x 32像素,常 用来表示最小化的应用程序。 (.Ico)
开始打印的位置是由对象的CurrentX和CurrentX属 性决定, 缺省为打印对象的左上角0,0。 注意:要使Print方法在Form _Load事件过程中起作用, 必须设置窗体的 AutoRedraw为True。
10.03.2019
14
例4.2
显示图形
Private Sub Form_Click() For i = 1 To 5 Print Tab(i); String(6 - I, "▼"); Spc(6); String(I, "▲") Next i End Sub
10.03.2019
4
例:要在屏幕上显示图示的对话框:
相应的语句如下:
Dim strName As String * 40
strName= InputBox("请输入你的姓名" + vbCrLf + "然后单击确定" , "输 入框" )
也可以使用如下语句: Dim strName As String * 40, strS1 As String * 40 strS1 = "请输入你的姓名" + Chr(13) + Chr(10) + "然后单击确定" strName= InputBox(strS1, "输入框" , , 100,100) 当键盘输入“王晓明” 后,变量strName获得键盘输入的值。
10.03.2019 31
Autosize属性:决定控件是否自动适应图片的大小 True:图片框自动调整大小适应图片。 False:图片框不能自动调整大小,加载的图形保持其原始尺寸。
图1
10.03.2019
AutoSize属性为False
图2
AutoSize属性为True
32
•图像框(Image)作用与图片框类似,区别在于:
If Text2 <> "" And Not IsNumeric(Text2)
确定
10.03.2019 12
二、常用方法
方法是面向对象的,故使用的形式为: [对象.]方法 1.Print方法
形式: [对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]
作用:在对象上输出信息
10.03.2019
17
代码
Private Sub Command1_Click() Command1.Move (Form1.ScaleWidth Command1.Width) / 2, (Form1.ScaleHeight Command1.Height) / 2 End Sub
10.03.2019
Private Sub Command1_Click() If Text2 <> "1234" Then i = MsgBox("密码错误,重新输入吗?", vbOKCancel) If i = vbOK Then Text2.SetFocus Text2 = "" Else End End If End If End Sub
10.03.2019
25
例:交换图形。
图7 “交换图形”设计界面
图8 “交换图形”运行界面
10.03.2019
26
程序清单如下: Private Sub Command1_Click() ′交换图片 Image3.Picture = Image1.Picture Image1.Picture = Image2.Picture Image2.Picture = Image3.Picture End Sub
16
3. Move方法
形式:[对象.]Move 左边距离[,上边距离[,宽度[,高度]]] 作用:移动窗体或控件,并可改变其大小。 对象:可以是窗体及除时钟、菜单外的所有控件 注意:只有 left 参数是必须的。但是,要指定任何其它的参数,必 须先指定出现在语法中该参数前面的全部参数; 例如:如果不先指定 left 和 top 参数,则无法指定 width 参 数。任何没有指定的尾部的参数则保持不变。 例4.3 图形移到窗体的中心。
10.03.2019
9
代码-账号有效性检验
Private Sub Text1_LostFocus()
If Not IsNumeric(Text1) Then MsgBox "请输入数字!" Text1.SetFocus Text1 = "" End If
End Sub
10.03.2019 10
代码-密码检验
时触发。
10.03.2019
29
例:图片框示例。
要求: 单击:显示 双击:消失
图6 图片框示例
10.03.2019 30
程序清单如下:
Private Sub Form_Click() P1.Picture=LoadPicture(“D:\Pic1.bmp”) ′ 装入图片 End Sub
Private Sub Form_DblClick() P1.Picture=LoadPicture() ′ 清除图片 End Sub
对象:窗体、图形框或打印机(Printer) ,省略对象在窗体上输出。
10.03.2019
13
Spc(n)函数:插入n个空格,允许重复使用。 Tab(n)函数:左端开始右移动n列,允许重复使用。 ;(分号):光标定位上一个显示的字符后。 ,(逗号):光标定位在下一个打印区的开始位置处。
无 ;,时换行。
压缩位图格式。
10.03.2019
(.gif)
22
图像控件(Image)
– 图像控件用来显示一个来自磁盘上的图形文件并 可随意调整图形的大小。 (.BMP、.ICO、.WMF、.EMF、.JPG 、.GIF文件)
– 重要属性、事件和方法:
1、Name 属性——对象名
2、Left、Top、Width、Height、Visible、 Enabled
10.03.2019 2
当表达式的类型与变量的类型不一致时, 强制转换成左边的精度,如 iA% = 10 / 3 iA中的结果为3
注意:虽然赋值号与关系运算符等于号都 用“=”表示,VB系统会根据所处的位置自动 判断是何种意义的符号。
10.03.2019
3
二、InputBox函数:
InputBox(提示[,标题][,缺省][,x 坐标][,y坐标]) 其中:提示:提示信息; 标题:对话框标题; 缺省:输入区缺省值; 函数返回字符类型。
10.03.2019 21
(3)图元文件(MetaFile):将图像作为线、圆或 多边形这样的图形对象来存储,而不是存储 其像素。 图元文件的类型有两种: 标准型(.Wmf) 增强型(.Emf)
(4)JPEG文件:JPEG是一种支持8位和24位
颜色的压缩位图格式。 (.jpg)
(5)GIF文件: GIF是一种支持256种颜色的
18
4.3
字形
① FontName:字符型,决定窗体上显示正文的字体。 ② FontSize:整型,决定窗体上显示正文的字体大 小。以磅为单位,最大值为 2160 磅。 ③ FontBold:逻辑型,决定窗体上显示正文的字体 是否粗体。 ④ FontItalic:逻辑型,决定窗体上显示正文的字体 是否斜体。 ⑤ FontStrikethru:逻辑型,决定窗体上显示正文的 字体是否加删除线。 ⑥ FontUnderline:逻辑型,决定窗体上显示正文的 字体是否带下划线。
10.03.2019 28
4、Picture 属性:与图像控件相同 5、AutoSize属性 AutoSize属性用来指定图片框是否要调整 大小,以适应图像的大小(True:图片框按 图片大小自动调整以适应图像的大小; False(默认值):图片框以原始大小显 示)。
7、Print、Move、Cls方法 8、Click事件、 Dbclick事件 9、Change事件:当图片框的Picture 属性改变
第四章 数据的输入输出和图形控件
4.1 4.2 4.3 4.4 数据的输入 数据的输出 字形 图形控件及图形方法
10.03.2019
1
4.1
一、赋值语句
数据的输入
形式:[LET]变量名=表达式 作用: 将表达式的值赋值给变量名。 一般用于给变量赋值或对控件设定 属性值。 例: sRate!=0.1 Text1.Text = "欢迎使用Visual Basic 6.0 "
8
例4.1 编一帐号和密码检验程序。
要求: 帐号不超过6位数字,有错,清除原内容再输入。 密码输入时在屏幕上以 “*”代替; 若密码错,显示有关信息, 选择“重试”按钮,清除原内容再输入,选择“取消”按钮, 停止运行。 分析: 帐号6位,MaxLength为6,LostFocus判断数字IsNumeric函数 密码PassWordChar为“*”,MsgBox函数设置密码错对话框。
10.03.2019 24
5、Stretch属性: 用来指定一个图形是否要调整
大小,以适应图像框控件的大小(True:缩放 图像;False(默认值):图像以原始大小显 示)。 6、 Move方法(无Print 方法) 7、 Click事件、 Dbclick事件
例:编写程序,交换两个图片框中的图形。
注意:
String(number, character)
返回指定长度重复字符 的字符串。 考虑: 若把Spc(6)换成Tab(6), 效果如何?
10.03.2019 15
2. Cls方法
形式:[对象.]Cls
作用:清除运行时在窗体或图形框中显示的文本或图形。
注意:不清除在设计时的文本和图形。
10.03.2019
10.03.2019
27
图片框控件(PictureBox)
• 图片框是用来显示图形的,但同时它又可以作 为其它控件的容器。可以使用Print方法,而图 像框控件则不具有这些性能。但图像框控件使 用较少的系统资源,所以重画起来比图片框控 件要快。 重要属性、事件和方法:
•
1、Name 属性——对象名 2、Left、Top、Width、Height、Visible、 Enabled 属性 3、BorderStyle 属性——边框样式 0:无边框 1:有边框(默认)
10.03.2019 5
4.2
数据的输出
一、MsgBox函数和MsgBox过程
函数形式:变量[%] = MsgBox(提示[,按钮][,标题]) 过程形式:MsgBox 提示[,按钮][,标题]
10.03.2019
6
按钮值如下:
10.03.2019
7
函数返回所选按钮整数值:
Leabharlann Baidu
10.03.2019
3、BorderStyle 属性——边框样式 0:无边框(默认) 1:有边框
10.03.2019 23
4、Picture 属性:返回或设置控件中要显示的图片。
其格式为:
[<对象名>.]Picture = LoadPicture([ <图片文件路径名> ]) LoadPicture函数语法为: LoadPicture([<图形文件名>]) 说明:①不带参数的LoadPicture( )函数,是使图像控件 不显示任何图像。 ② 属性窗口设置的Picture 属性,会被复制到二进 制窗体文件(.frx)中,运行时不依赖源文件。而在程序 代码中使用LoadPicture调入的图形文件,在运行时要 保证其存在于指定的路径中。
10.03.2019 11
常 见 错 误
数据合法性检查中引起程序的死循环: Private Sub Text1_LostFocus() If Not IsNumeric(Text1) Then Text1 = "" Text1.SetFocus End If End Sub
Text1 Text2
Private Sub Text2_LostFocus() If Not IsNumeric(Text2) Then Text2 = "" Text2.SetFocus End If End Sub
4.4 图形控件及图形方法
主要控件 Picture Image Line Shape
主要方法 Pset Line Circle
10.03.2019
20
4.4
图形控件
4.4.1 图片框和图像框
窗体、图形框和图像框可以显示来自图形文件的图形。
图形文件的存储形式有多种,常见有以下几种: (1)位图(Bitmap):用像素表示的图像,将它作为位 的集合存储起来,每个位都对应一个像素。(.Bmp) (2)图标(Icon):图标是位图,最大为32 x 32像素,常 用来表示最小化的应用程序。 (.Ico)
开始打印的位置是由对象的CurrentX和CurrentX属 性决定, 缺省为打印对象的左上角0,0。 注意:要使Print方法在Form _Load事件过程中起作用, 必须设置窗体的 AutoRedraw为True。
10.03.2019
14
例4.2
显示图形
Private Sub Form_Click() For i = 1 To 5 Print Tab(i); String(6 - I, "▼"); Spc(6); String(I, "▲") Next i End Sub
10.03.2019
4
例:要在屏幕上显示图示的对话框:
相应的语句如下:
Dim strName As String * 40
strName= InputBox("请输入你的姓名" + vbCrLf + "然后单击确定" , "输 入框" )
也可以使用如下语句: Dim strName As String * 40, strS1 As String * 40 strS1 = "请输入你的姓名" + Chr(13) + Chr(10) + "然后单击确定" strName= InputBox(strS1, "输入框" , , 100,100) 当键盘输入“王晓明” 后,变量strName获得键盘输入的值。
10.03.2019 31
Autosize属性:决定控件是否自动适应图片的大小 True:图片框自动调整大小适应图片。 False:图片框不能自动调整大小,加载的图形保持其原始尺寸。
图1
10.03.2019
AutoSize属性为False
图2
AutoSize属性为True
32
•图像框(Image)作用与图片框类似,区别在于:
If Text2 <> "" And Not IsNumeric(Text2)
确定
10.03.2019 12
二、常用方法
方法是面向对象的,故使用的形式为: [对象.]方法 1.Print方法
形式: [对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]
作用:在对象上输出信息
10.03.2019
17
代码
Private Sub Command1_Click() Command1.Move (Form1.ScaleWidth Command1.Width) / 2, (Form1.ScaleHeight Command1.Height) / 2 End Sub
10.03.2019
Private Sub Command1_Click() If Text2 <> "1234" Then i = MsgBox("密码错误,重新输入吗?", vbOKCancel) If i = vbOK Then Text2.SetFocus Text2 = "" Else End End If End If End Sub
10.03.2019
25
例:交换图形。
图7 “交换图形”设计界面
图8 “交换图形”运行界面
10.03.2019
26
程序清单如下: Private Sub Command1_Click() ′交换图片 Image3.Picture = Image1.Picture Image1.Picture = Image2.Picture Image2.Picture = Image3.Picture End Sub
16
3. Move方法
形式:[对象.]Move 左边距离[,上边距离[,宽度[,高度]]] 作用:移动窗体或控件,并可改变其大小。 对象:可以是窗体及除时钟、菜单外的所有控件 注意:只有 left 参数是必须的。但是,要指定任何其它的参数,必 须先指定出现在语法中该参数前面的全部参数; 例如:如果不先指定 left 和 top 参数,则无法指定 width 参 数。任何没有指定的尾部的参数则保持不变。 例4.3 图形移到窗体的中心。
10.03.2019
9
代码-账号有效性检验
Private Sub Text1_LostFocus()
If Not IsNumeric(Text1) Then MsgBox "请输入数字!" Text1.SetFocus Text1 = "" End If
End Sub
10.03.2019 10
代码-密码检验
时触发。
10.03.2019
29
例:图片框示例。
要求: 单击:显示 双击:消失
图6 图片框示例
10.03.2019 30
程序清单如下:
Private Sub Form_Click() P1.Picture=LoadPicture(“D:\Pic1.bmp”) ′ 装入图片 End Sub
Private Sub Form_DblClick() P1.Picture=LoadPicture() ′ 清除图片 End Sub
对象:窗体、图形框或打印机(Printer) ,省略对象在窗体上输出。
10.03.2019
13
Spc(n)函数:插入n个空格,允许重复使用。 Tab(n)函数:左端开始右移动n列,允许重复使用。 ;(分号):光标定位上一个显示的字符后。 ,(逗号):光标定位在下一个打印区的开始位置处。
无 ;,时换行。
压缩位图格式。
10.03.2019
(.gif)
22
图像控件(Image)
– 图像控件用来显示一个来自磁盘上的图形文件并 可随意调整图形的大小。 (.BMP、.ICO、.WMF、.EMF、.JPG 、.GIF文件)
– 重要属性、事件和方法:
1、Name 属性——对象名
2、Left、Top、Width、Height、Visible、 Enabled
10.03.2019 2
当表达式的类型与变量的类型不一致时, 强制转换成左边的精度,如 iA% = 10 / 3 iA中的结果为3
注意:虽然赋值号与关系运算符等于号都 用“=”表示,VB系统会根据所处的位置自动 判断是何种意义的符号。
10.03.2019
3
二、InputBox函数:
InputBox(提示[,标题][,缺省][,x 坐标][,y坐标]) 其中:提示:提示信息; 标题:对话框标题; 缺省:输入区缺省值; 函数返回字符类型。
10.03.2019 21
(3)图元文件(MetaFile):将图像作为线、圆或 多边形这样的图形对象来存储,而不是存储 其像素。 图元文件的类型有两种: 标准型(.Wmf) 增强型(.Emf)
(4)JPEG文件:JPEG是一种支持8位和24位
颜色的压缩位图格式。 (.jpg)
(5)GIF文件: GIF是一种支持256种颜色的
18
4.3
字形
① FontName:字符型,决定窗体上显示正文的字体。 ② FontSize:整型,决定窗体上显示正文的字体大 小。以磅为单位,最大值为 2160 磅。 ③ FontBold:逻辑型,决定窗体上显示正文的字体 是否粗体。 ④ FontItalic:逻辑型,决定窗体上显示正文的字体 是否斜体。 ⑤ FontStrikethru:逻辑型,决定窗体上显示正文的 字体是否加删除线。 ⑥ FontUnderline:逻辑型,决定窗体上显示正文的 字体是否带下划线。
10.03.2019 28
4、Picture 属性:与图像控件相同 5、AutoSize属性 AutoSize属性用来指定图片框是否要调整 大小,以适应图像的大小(True:图片框按 图片大小自动调整以适应图像的大小; False(默认值):图片框以原始大小显 示)。
7、Print、Move、Cls方法 8、Click事件、 Dbclick事件 9、Change事件:当图片框的Picture 属性改变
第四章 数据的输入输出和图形控件
4.1 4.2 4.3 4.4 数据的输入 数据的输出 字形 图形控件及图形方法
10.03.2019
1
4.1
一、赋值语句
数据的输入
形式:[LET]变量名=表达式 作用: 将表达式的值赋值给变量名。 一般用于给变量赋值或对控件设定 属性值。 例: sRate!=0.1 Text1.Text = "欢迎使用Visual Basic 6.0 "
8
例4.1 编一帐号和密码检验程序。
要求: 帐号不超过6位数字,有错,清除原内容再输入。 密码输入时在屏幕上以 “*”代替; 若密码错,显示有关信息, 选择“重试”按钮,清除原内容再输入,选择“取消”按钮, 停止运行。 分析: 帐号6位,MaxLength为6,LostFocus判断数字IsNumeric函数 密码PassWordChar为“*”,MsgBox函数设置密码错对话框。
10.03.2019 24
5、Stretch属性: 用来指定一个图形是否要调整
大小,以适应图像框控件的大小(True:缩放 图像;False(默认值):图像以原始大小显 示)。 6、 Move方法(无Print 方法) 7、 Click事件、 Dbclick事件
例:编写程序,交换两个图片框中的图形。
注意:
String(number, character)
返回指定长度重复字符 的字符串。 考虑: 若把Spc(6)换成Tab(6), 效果如何?
10.03.2019 15
2. Cls方法
形式:[对象.]Cls
作用:清除运行时在窗体或图形框中显示的文本或图形。
注意:不清除在设计时的文本和图形。
10.03.2019
10.03.2019
27
图片框控件(PictureBox)
• 图片框是用来显示图形的,但同时它又可以作 为其它控件的容器。可以使用Print方法,而图 像框控件则不具有这些性能。但图像框控件使 用较少的系统资源,所以重画起来比图片框控 件要快。 重要属性、事件和方法:
•
1、Name 属性——对象名 2、Left、Top、Width、Height、Visible、 Enabled 属性 3、BorderStyle 属性——边框样式 0:无边框 1:有边框(默认)
10.03.2019 5
4.2
数据的输出
一、MsgBox函数和MsgBox过程
函数形式:变量[%] = MsgBox(提示[,按钮][,标题]) 过程形式:MsgBox 提示[,按钮][,标题]
10.03.2019
6
按钮值如下:
10.03.2019
7
函数返回所选按钮整数值:
Leabharlann Baidu
10.03.2019
3、BorderStyle 属性——边框样式 0:无边框(默认) 1:有边框
10.03.2019 23
4、Picture 属性:返回或设置控件中要显示的图片。
其格式为:
[<对象名>.]Picture = LoadPicture([ <图片文件路径名> ]) LoadPicture函数语法为: LoadPicture([<图形文件名>]) 说明:①不带参数的LoadPicture( )函数,是使图像控件 不显示任何图像。 ② 属性窗口设置的Picture 属性,会被复制到二进 制窗体文件(.frx)中,运行时不依赖源文件。而在程序 代码中使用LoadPicture调入的图形文件,在运行时要 保证其存在于指定的路径中。
10.03.2019 11
常 见 错 误
数据合法性检查中引起程序的死循环: Private Sub Text1_LostFocus() If Not IsNumeric(Text1) Then Text1 = "" Text1.SetFocus End If End Sub
Text1 Text2
Private Sub Text2_LostFocus() If Not IsNumeric(Text2) Then Text2 = "" Text2.SetFocus End If End Sub