(P158、P166、P172)
输入对话框 InputBox
窗体标题为:设计输入对话框 班级 学号 姓名。
1.输入对话框(P158)
InputBox(提示[,标题][,默认值][,xpos][,ypos])
例:InputBox("请输入文件名","对话输入框","File1")
2.通用对话框(P166)
工程—部件—Ms CommonDialog Control 6.0—
设置 Action 属性—打开、保存、颜色、字体、打印、帮助。
3.保存对话框(P172)
右击通用对话框图标—属性—
标题:保存文件
文件名称:form1.frm
默认扩展名:frm
初始化路径:E:\VB
4.命令按钮事件过程
Dim temp As String
Dim payroll(5) As String
Private Sub CmdInput_Click()
Dim payroll(5) As String
Dim sum As Single
For i = 0 To 6
Label2(i).Caption = "" '清空接收输入数据的标签
Next i
ch$ = Chr(13) + Chr(10) '回车换行 ASCII 码
Title$ = "工资输入框"
For i = 0 To 5
massage$ = ch$ + ch$ + ch$ + ch$ + ch$ + Label3(i).Caption
flag = 1
Title$ = Label3(i).Caption + "输入框"
Do While flag = 1 '输入数据
temp$ = InputBox$(massage$, Title$, , 500, 5000)
If temp$ <> "" Then
flag = 0
info = MsgBox("数据正确吗?", 36, "数据核对框")
'是、否按钮号:4+32=36
If info = 7 Then '选择 No,数据不正确,否按钮值为7
info1 = MsgBox("你想重新输入这个数据吗?", 36,"输入选择框")
If info1 = 6 Then flag = 1 '选择 Yes,重新输入,是按钮值为6
End If
Else
Exit For '输入“空串”时结束
End If
payroll(i) = temp$
Loop
Label2(i).Caption = payroll(i) + "元" '将正确数据显示在标签栏
sum = sum + Val(payroll(i))
Next i
Label2(6).Caption = Str$(sum) + "元"
End Sub
Private Sub CmdSave_Click()
CommonDialog1.DialogTitle = "保存文件"
CommonDialog1.Filter = "frm 文件|*.frm|All Files(*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.InitDir = "E:\VB"
CommonDialog1.Flags = 6
CommonDialog1.Action = 2
End Sub
Private Sub CmdExit_Click()
End
End Sub
(P186、P188、P191、P200)
地球公转 Earth
窗体标题为:设计地球公转动画1 班级 学号 姓名。
窗体控件有:图像框、图片框、计时器、命令按钮5个。
图像文件参考路径和尺寸:E:\VB,
一幅地球 100 * 100 图像、4幅背景 600 * 400 图像。
1.图片框 PictureBox(P186)
AutoSize 属性:图片框能自动适应图形的大小。
图片框可以包括其他控件,占内存大。
2.图像框 Image(P188)
Stretch 拉伸属性:拉伸图形自动适应图像框大小。
3.计时器(P191)
InterVal 属性:控制间隔时间,如 100 ms。
4.地球公转 Earth 命令按钮事件过程(P200)
'装载地球
Private Sub Form_Load()
ImgEarth.Picture = LoadPicture("E:\VB\dq3.gif")
End Sub
'地球公转
Private Static Sub Timer1_Timer()
rx = 4000 '地球公转轨道的长轴
ry = 2000 '地球公转轨道的短轴
x = 0.4 * Width + Cos(i) * rx
y = 0.3 * Height - Sin(i) * ry '地球逆时针公转
ImgEarth.Move x, y
i = i + 0.1 '地球公转轨道上间隔弧度
End Sub
'按钮切换背景图像
Private Sub CmdYjtk_Click()
Picture1.Picture = LoadPicture("E:\VB\xxgdt.jpg")
End Sub
Private Sub CmdLtby_Click()
Picture1.Picture = LoadPicture("E:\VB\ltby1.jpg")
End Sub
Private Sub CmdSdbj_Click()
Picture1.Picture = LoadPicture("E:\VB\bjtam.jpg")
End Sub
Private Sub CmdGy_Click()
Picture1.Picture = LoadPicture("E:\VB\qdh_nr.jpg")
End Sub
'退出
Private Sub CmdExit_Click()
End
End Sub
窗体标题为:设计窗体菜单 班级 学号 姓名。
1.设计菜单(P207)
工具栏—菜单编辑器—菜单标题:
文件(&F),名称:MenuFile;
下一个 — 子菜单标题:
打开(&O),快捷键 Ctrl+O,
保存(&S),快捷键 Ctrl+S。
2.打开、保存对话框(P172)
通用对话框(P166)
工程—部件—Ms CommonDialog Control 6.0—
设置 Action 属性—打开、保存、颜色、字体、打印、帮助。
右击通用对话框图标—属性—标题:保存文件,文件名称:工程文件.vbp,
默认扩展名:vbp,初始化路径:E:\VB。
剪切、复制、粘贴命令(P215)
字体、 颜色对话框(P216、P127)
3.设计菜单 Menu 命令事件过程
'清空剪贴板
Private Sub Form_Load()
Clipboard.Clear
MenuEditPaste.Enabled = False
End Sub
'打开文件
Private Sub MenuFileOpen_Click()
CmnDialog1.DialogTitle = "打开文件"
CmnDialog1.Filter = "vbp 文件|*.vbp|All Files(*.*)|*.*"
CmnDialog1.FilterIndex = 1
CmnDialog1.InitDir = "E:\VB"
CmnDialog1.Flags = 1
CmnDialog1.Action = 1
End Sub
'保存文件
Private Sub MenuFileSeve_Click()
CmnDialog1.DialogTitle = "保存文件"
CmnDialog1.Filter = "工程文件 vbp|*.vbp|All Files(*.*)|*.*"
CmnDialog1.FilterIndex = 1
CmnDialog1.InitDir = "E:\VB"
CmnDialog1.Flags = 6
CmnDialog1.Action = 2
End Sub
'退出
Private Sub MenuFileExit_Click()
End
End Sub
'剪切文本
Private Sub MenuEditCut_Click()
If TypeOf Screen.ActiveControl Is TextBox Then
'屏幕激活控件所选文本放入剪贴板
Clipboard.SetText Screen.ActiveControl.SelText
Screen.ActiveControl.SelText = ""
MenuEditPaste.Enabled = True
End If
End Sub
'复制文本
Private Sub MenuEditCopy_Click()
If TypeOf Screen.ActiveControl Is TextBox Then
Clipboard.SetText Screen.ActiveControl.SelText
MenuEditPaste.Enabled = True
End If
End Sub
'粘贴文本
Private Sub MenuEditPaste_Click()
If Len(Clipboard.GetText) > 0 Then
'剪贴板所获取的文本覆盖屏幕激活控件所选文本
Screen.ActiveControl.SelText = Clipboard.GetText
End If
End Sub
'设置文本
Private Sub MenuSetting_Click(Index As Integer)
If Index = 0 Then
CmnDialog1.Flags = 1
CmnDialog1.ShowFont
'设置屏幕激活控件文本的字体、字号
Screen.ActiveControl.FontName = CmnDialog1.FontName
Screen.ActiveControl.FontSize = CmnDialog1.FontSize
End If
If Index = 1 Then
CmnDialog1.Flags = 1
CmnDialog1.ShowColor
'设置屏幕激活控件文本的颜色
Screen.ActiveControl.ForeColor = CmnDialog1.Color
End If
End Sub
图形设计
画点 PSet (x, y), QBColor(c)(P248)
绘制直线 Line,RGB(r,g,b)(P251)
绘制矩形 Line(x1,y1)-(x2,y2),RGB(r,g,b),B(P252)
绘制圆形 Circle(P255)
1.设置窗体属性:标题“图形设计 班级 学号 姓名”。
2.命令按钮事件过程
'高山
Private Sub CmdGs_Click()
DrawWidth = 2
Line (40, 40)-(11950, 8220), QBColor(14), B '边框
DrawWidth = 3
c = 14
Do
For x = 555 To 5555 Step 0.1
y = 3000 - Sin(x / 333) * 0.4 * x '高山
PSet (x, y), QBColor(c)
Next x
c = c - 1
Loop Until c = 10
End Sub
'流水
Private Sub Cmdls_Click()
DrawWidth = 2
c = 14
Do
For i = 4 To 1 Step -1
y = 7300 - 300 * i
X1 = 8350 - 800 * i
X2 = 8350 + 800 * i
For x = X1 To X2 Step 0.1
PSet (x, y), QBColor(c)
Next x
Next i
c = c - 1
Loop Until c = 9
End Sub
'阳光
Private Sub Cmdyg_Click()
DrawWidth = 3
Circle (8000, 2000), 500, QBColor(14)
DrawWidth = 66
Circle (8000, 2000), 0, QBColor(12)
DrawWidth = 1
c = 9
Do
For r = 666 To 1800 Step 0.2
For i = 0 To 6.28 Step 6.28 / 32
x = 8000 + Cos(i) * r
y = 2000 + Sin(i) * r
PSet (x, y), QBColor(c)
Next i
Next r
c = c + 1
Loop Until c = 15
End Sub
'大桥
Private Sub CmdDq_Click()
DrawWidth = 3
For i = 3.14 To 0 Step -3.14 / 9999
x = 8350 + Cos(i) * 3450
y = 6000 - Sin(i) * 1400
PSet (x, y), QBColor(5)
Next i
DrawWidth = 2
c = 9
Do
For j = 6350 To 10350 Step 800
For i = 3.14 To 0 Step -3.14 / 9999
x = j + Cos(i) * 400
y = 5900 - Sin(i) * 600
PSet (x, y), QBColor(c)
Next i
Next j
c = c + 1
Loop Until c = 15
End Sub
'清除
Private Sub CmdCls_Click()
Cls
End Sub
'退出
Private Sub CmdExit_Click()
End
End Sub
模拟手工画图
模拟手工画图 Mysght
'模拟手工画图
Private Sub CmdMysght_Click()
DrawWidth = 2
Line (40, 40)-(11950, 8220), QBColor(14), B '边框
'高山
DrawWidth = 3
c = 14
Do
For x = 555 To 5555 Step 0.2
y = 3000 - Sin(x / 333) * 0.4 * x '高山
PSet (x, y), QBColor(c)
Next x
c = c - 1
Loop Until c = 10
'流水
DrawWidth = 2
c = 14
Do
For i = 4 To 1 Step -1
y = 7300 - 300 * i
X1 = 8350 - 800 * i
X2 = 8350 + 800 * i
For x = X1 To X2 Step 0.4
PSet (x, y), QBColor(c)
Next x
Next i
c = c - 1
Loop Until c = 8
'大桥
DrawWidth = 3
c = 9
Do
For i = 3.14 To 0 Step -3.14 / 9999
x = 8350 + Cos(i) * 3450
y = 6000 - Sin(i) * 1400
PSet (x, y), QBColor(c)
Next i
c = c + 1
Loop Until c = 14
DrawWidth = 2
c = 14
Do
For j = 6350 To 10350 Step 800
For i = 3.14 To 0 Step -3.14 / 5555
x = j + Cos(i) * 400
y = 5900 - Sin(i) * 600
PSet (x, y), QBColor(c)
Next i
Next j
c = c - 1
Loop Until c = 9
End Sub
'外射阳光
Private Sub CmdWsyg_Click()
DrawWidth = 66
Circle (8000, 2000), 0, QBColor(12)
DrawWidth = 3
c = 9
Do
For i = 3.14 To -3.14 Step -6.28 / 9999
x = 8000 + Cos(i) * 500
y = 2000 - Sin(i) * 500
PSet (x, y), QBColor(c)
Next i
c = c + 1
Loop Until c = 15
DrawWidth = 1
c = 9
Do
For r = 666 To 1800 Step 0.4
For i = 0 To 6.28 Step 6.28 / 32
x = 8000 + Cos(i) * r
y = 2000 + Sin(i) * r
PSet (x, y), QBColor(c)
Next i
Next r
c = c + 1
Loop Until c = 16
End Sub
'扫描阳光
Private Sub CmdSmyg_Click()
DrawWidth = 66
Circle (8000, 2000), 0, QBColor(12)
DrawWidth = 3
c = 9
Do
For i = 3.14 To -3.14 Step -6.28 / 9999
x = 8000 + Cos(i) * 500
y = 2000 - Sin(i) * 500
PSet (x, y), QBColor(c)
Next i
c = c + 1
Loop Until c = 15
DrawWidth = 1
c = 9
Do
For i = 3.14 To -3.14 Step -6.28 / 16
For r = 666 To 1600 Step 0.1
x = 8000 + Cos(i) * r
y = 2000 - Sin(i) * r
PSet (x, y), QBColor(c)
Next r
Next i
For r = 666 To 1000 Step 0.2
For i = 3.14 To -3.14 Step -6.28 / 64
x = 8000 + Cos(i) * r
y = 2000 - Sin(i) * r
PSet (x, y), QBColor(c)
Next i
Next r
c = c + 1
Loop Until c = 16
End Sub
'清除
Private Sub CmdCls_Click()
Cls
End Sub
'退出
Private Sub CmdExit_Click()
End
End Sub
VB图形程序设计
'花纹边框
Private Sub CmdHwbk_Click()
DrawWidth = 2
Line (40, 40)-(11950, 8220), QBColor(14), B '边框
'上下花纹边框
DrawWidth = 1
c = 14
PI = 3.14159
Do
For X1 = 700 To 11300 Step 400
For i = 0 To 2 * PI Step 0.002
hy = 3
Y1 = 800
x = X1 + Cos(hy * i) * Cos(i) * 200
y = Y1 - Cos(hy * i) * Sin(i) * 200
PSet (x, y), QBColor(c)
Next i
Next X1
c = c - 1
Loop Until c = 9
'左右花纹边框
DrawWidth = 1
c = 14
PI = 3.14159
Do
For Y1 = 6500 To 1300 Step -450
For i = 0 To 2 * PI Step 0.002
X1 = 800
hy = 5
x = X1 + Cos(hy * i) * Cos(i) * 200
y = Y1 - Cos(hy * i) * Sin(i) * 200
PSet (x, y), QBColor(c)
Next i
Next Y1
c = c - 1
Loop Until c = 12
End Sub
'花纹椭圆
Private Sub CmdHwty_Click()
DrawWidth = 1
c = 9
hy = 4
X1 = 6000
Y1 = 4100
PI = 3.14159
Do
For j = 5.5 * PI / 8 To 19 * PI / 8 Step PI / 20
For i = 0 To 2 * PI Step 0.002
x = X1 + Cos(j) * 3500 + Cos(hy * i) * Cos(i) * 200
y = Y1 + Sin(j) * 2800 + Cos(hy * i) * Sin(i) * 200
PSet (x, y), QBColor(c)
Next i
Next j
c = c + 1
Loop Until c = 15
End Sub
'四个小窗、四朵小花
Private Sub CmdSgxc_Click()
'左上小窗、小花
DrawWidth = 1
Line (1300, 1300)-(2500, 2500), QBColor(14), B
c = 13
hy = 3
PI = 3.14159
For i = 0 To 2 * PI Step 0.0001
X1 = 1900
Y1 = 1900
x = X1 + Cos(hy * i) * Cos(i) * 500
y = Y1 + Cos(hy * i) * Sin(i) * 500
PSet (x, y), QBColor(c)
Next i
'右上小窗、小花
'右下小窗、小花
'左下小窗、小花
End Sub
'清除
Private Sub CmdCls_Click()
Cls
End Sub
'退出
Private Sub CmdExit_Click()
End
End Sub
1.创建数据库和表(P280)
1)新建标准 EXE 工程。
2)外接程序—可视化数据管理器—
文件—新建— MS Access — Version 7.0 MDB —
数据库名,如 E:\VB\wssdk97.mdb。
3)创建表
右击“数据库窗口”—新建表—表名:如,图书清单表—添加字段:
图书号、Text、3;
图书名称、Text、20;
作者、出版社、图书定价、图书类别—生成表。
4)输入数据
右击图书清单表—打开—添加—
图书号:01
图书名称:VB 程序设计—更新。
2.数据控件 DataCtrl wssdk97.rar (P284)
1)新建标准 EXE 工程。
2)外接程序—可视化数据管理器—
文件—打开数据库— MS Access —如 E:\VB\wssdk97.mdb。
3)工具箱—数据控件—添加到窗体上。
4)数据控件 data1 属性:
DatabaseName:如 E:\VB\wssdk97.mdb
RecordSource:如 图书清单表
5)数据感知控件连接数据控件,如文本框1
DataSource:如 data1;
DataField:如 图书名称。
3.数据窗体 DataWin
1)新建标准 EXE 工程。
2)外接程序—可视化数据管理器—
文件—打开数据库— MS Access—如 E:\VB\wssdk97.mdb。
3)实用程序—数据窗体设计器—
窗体名称,如 DataWin;
记录源,如图书清单表。
选择“可用字段”移到“包括字段”;
生成窗体。
4)运行窗体:工程—工程1 属性—启动对象:DataWin。
5)修改数据控件路径
数据窗体代码—查找数据控件名称— data1.RecordSet.AddNew —
data 1属性—DatabaseName:如 D:\VB\wssdk97.mdb。
4.添加 ADO Data 控件
工程—部件—MS ADO Data Control 6.0(OLEDB)—
双击工具箱中 ADO Data 控件图标。
5.数据报表 DataRep
1)向工程中添加数据环境
工程—Data Environment。
2)创建连接对象
右击 Connection1—属性—提供者 Provider:Microsoft.Jet.OLEDB.3.51;
连接:如 E:\VB\wssdk97.mdb
3)创建命令对象
右击 Connection1—添加命令 Command1—
右击 Command1—属性—数据库对象:表,对象名称:如图书清单表。
4)添加 DataReport
工程—添加 DataReport。
5)设计报表的界面
打开数据环境—把字段:图书号、图书名称、作者、出版社、图书定价、图书类别
拖入报表中的细节中,然后把将标签部分拖到页标头中。
右击报表标头—插入控件—报表标题—通过属性设置字体、字号、颜色。
6)报表标题初始化代码
Private Sub DataReport_Initialize()
DataReport1.Title = "网络书店图书报表"
End Sub
(* 运行报表:工程—工程1 属性—启动对象:DataReport1。)
6.图书管理 BookMng
图书管理菜单:数据控件、数据窗体、图书报表。
Private Sub DataCtrl_Click()
Form1.Show
Form2.Hide
End Sub
Private Sub DataWin_Click()
Form1.Hide
Form2.Show
End Sub
Private Sub Exit_Click()
Unload Me
End Sub
Private Sub BookRep_Click()
DataReport1.Show
End Sub