(vb课程设计)图片浏览器修改
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图片浏览器设计报告
学院土木工程学院班级土木工程C076 学号074837 姓名郭少华成绩
一、设计思路
1.要达到的目的
①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决
①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图
picture
模
块
hscrollbar
模
块pictureload
三、部分程序关键源代码及注释
Private Sub Form_Load()
Drive1.Drive = App.Path
Dir1.Path = App.Path 'App 是当前的应用程序对象
File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf" '在FileListBox中只列出图片文件。
Picture1.AutoSize = True
Picture2.AutoSize = True '设定自动缩放,适应PictureBox的大小。
= 2000
= sbrCenter
= 1800
= sbrCenter
= 2400
= sbrCenter
= 3000
= sbrCenter '设定StatusBar的数量和属性
End Sub
Private Sub Drive1_Change()
On Error Resume Next
Dir1.Refresh
Dir1.Path = Drive1.Drive
If Err.Number = 68 Then
Err.Clear
MsgBox "先将光盘插入!", , "提示"
Exit Sub
End If '设定错误提示
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub File1_Click()
If Right(File1.Path, 1) <> "\" Then
tempstring = File1.Path & "\" & File1.FileName '非根目录时,路径中的最后加上一个反斜杠"\"
Else
tempstring = File1.Path & "\" & File1.FileName
End If '装入选定的文件。
Picture1.Enabled = True
Picture2.Picture = LoadPicture(tempstring)
Picture1.PaintPicture Picture2.Picture _
, 0, 0, Picture1.Width, Picture1.Height, _
0, 0, Picture2.Width, Picture2.Height '设定图片的初始状态。
Picture2.Visible = False
mysize = FileLen(Dir1.Path & "\" & File1.FileName)
Picture2.ScaleMode = 3
StatusBar1.Panels(1) = "图片尺寸:" & _
Picture2.ScaleWidth & "×" & Picture2.ScaleHeight
StatusBar1.Panels(2) = "文件大小:" & _
Int(mysize / 1024 * 10 + 0.5) / 10 & "KB"
StatusBar1.Panels(3) = "修改日期:" & "2008-6-11 " & "08:32"
= "制作人:郭少华2008年6月" '设定图片信息的提取
End Sub
Private Sub Command1_Click()
If Command1.Caption = "自动浏览" Then
Timer1.Enabled = True
Command1.Caption = "手动浏览"
Else
Timer1.Enabled = False
Command1.Caption = "自动浏览"
End If '设定自动浏览
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Timer1_Timer()
X = File1.ListIndex
X = X + 1
If X < File1.ListCount Then
File1.Selected(X) = True
Call File1_Click
Else
File1.ListIndex = 0
End If '设定timer事件来自动浏览图片End Sub
Private Sub Form_QueryUnload(Cancel As Integer, _
UnloadMode As Integer)
Title = MsgBox("确定要退出?", vbYesNoCancel, "提示")
If Title <> 6 Then
Cancel = True
End If
If Title = 6 Then
MsgBox "谢谢使用,欢迎再次使用。", , "图片浏览器"
End If
End Sub
Private Sub HScroll1_Change()
Picture1.Cls
Max = 200
Min = 1 '设定滚动条的最大、最小值。
Value = 200
smallchang = 1
largechang = 1 '设定Value值的改变量。