求助——怎样用VB做画图程序和资源管理器?
第一章 资源管理器1.1 设计的目的
通过对该题目的设计的操作与实践,使学生了解使用VB程序设计方法,实现面向对象程序设计的相关理论知识和设计技巧,在一定程度上提高面向对象程序设计的综合设计能力,具体掌握的基本能力有以下几方面:
了解一个资源管理器系统开发的全过程。
了解资源管理器的使用,从而分析出简化的资源管理器的使用。
熟悉一些常用控件的使用,例如文件列表、标签、文本框、按钮等。
熟悉一些常用控件的方法、事件的使用。
了解一些其它高级控件的使用。例如:文件列表,对话框的使用。
模块的使用和调用。
1.2 设计的任务
该设计的任务分为程序设计任务要求和文档任务要求两部分,在设计过程中学生完成程序设计部分是提高学生的程序实现能力,文档设计提高学生的分析和表述能力。
程序设计的任务要求:
能够浏览硬盘里的文件。
能够对文件进行复选。
能够对文件进行剪切、复制、删除等功能。
能够新建文件夹。
能够建立一个工具栏。
文档设计要求:
对系统的需求分析。
设计模块功能说明。
窗体设计的界面。
各模块的程序代码。
设计任务的总结。
1.3 设计的要求
熟悉 VB6.0 的集成环境及基本操作。
熟练掌握 IF 语句及 IF 语句的嵌套应用,掌握 Select Case 语句的使用。
熟练掌握 For…Next 语句及 Do…Loop 循环语句的使用,掌握循环结构的嵌套使用。
掌握数组的使用及用数组解决与数组有关的常用算法。
掌握函数过程及子过程的定义、调用及参数传递方法。
理解过程及变量的作用范围,理解变量的生存期。
掌握菜单的设计及文件操作。
工具栏的实现。
1.4 设计思路的提示
逻辑设计提示:
要设计一个公共模块,目的是实现公共变量和公共函数的调用。
设计一个工具栏和菜单上的工具能够一一对应。
控件设计提示:
需要一个treeview 控件帮助实现树形结构。
需要一个listview 控件帮助显示选中文件夹的结果(可以用其它的控件)。
Treeview和listview控件在添加部件中的Miscrosoft Windows Common Control 6.0(sp6) 和M iscrosoft Windows Common Control-3 6.0
在Treeview和listview的AfterLabelEdit事件里编写判断新建文件夹是否存在的。
窗体设计提示:
用toolbar控件 实现工具栏。
用Combox控件 实现地址栏。
菜单要求多级菜单。
参考窗体如下:
[img]http://photo1.bababian.com/upload11/20080703/F49D7AA1116F839133E01F522B483112_500.jpg[/img]
图1.1 资源管理器的运行
第三章 画图程序
3.1 设计的目的
本题目的课程设计为VB6.0的画图功能,程序有一定的侧重点。该设计能过提高学生对VB6.0画图功能的了解,和一些画图函数的应用,了解到VB6.0强大的画图功能,帮助学生能够灵活应用VB6.0 这个特殊功能,具体掌握的基本能力有以下几方面:
了解一个画图程序系统开发的全过程。
了解画图程序的工作状态。
熟悉一些常用控件,例如:picturebox,标签,按纽。
熟悉一些高级控件的使用,例如: 对话框。
熟悉菜单的使用,能够在菜单当中编写需要的程序。
熟悉函数调用和模块调用功能。
能够熟练得应用一些简单的画图函数。
3.2 设计的任务
该设计实现的是一个和WINDOWS自带的画图程序功能相近的程序,设计任务分为程序设计任务要求和文档任务要求两部分,在设计过程中学生完成程序设计部分是提高学生的程序实现能力,文档设计提高学生的分析和表述能力。
程序设计的任务要求:
能够画一些简单的矢量图,例如(圆形、直线、巨型)。
能够用调色板对颜色进行编辑。
能够打开一些图形、图像文件。
能够移动产生的矢量图。
能够对产生的图片进行存储。
能够实现另存为功能。
能够实现新建图片文件的功能。
能够清除画板所画的矢量图。
文档设计的任务要求:
对系统的需求分析。
设计模块功能说明。
窗体设计的界面。
各模块的程序代码。
设计任务的总结。
3.3 设计的要求
熟悉 VB6.0 的集成环境及基本操作。
熟练掌握 IF 语句及 IF 语句的嵌套应用,掌握 Select Case 语句的使用。
熟练掌握 For…Next 语句及 Do…Loop 循环语句的使用,掌握循环结构的嵌套使用。
熟练掌握画直线函数、画圆函数和画矩形函数。
鼠标移动事件要熟练地应用。
掌握函数过程及子过程的定义、调用及参数传递方法。
理解过程及变量的作用范围,理解变量的生存期。
掌握菜单的设计及文件操作。
画图工具栏的实现。
3.4 设计思路的提示
逻辑设计提示:
可以用单窗体实现该设计,需要设计一个画板能够作画。
要设计一个画图工具栏和常用工具栏。
窗体设计提示:
用Toolbar 控件实现常用工具栏和绘图工具栏。
菜单要求多级菜单。
主参考界面如下图3.1
[img]http://photo1.bababian.com/upload11/20080703/D19D69EA0407809FB13D2F56DF0E4618_500.jpg[/img]
图3.1 画图界面
打开文件的窗体设计图3.2
[img]http://photo1.bababian.com/upload11/20080703/B8B1109DD71E5C7E88B91C5837DB5106_500.jpg[/img]
图3.2 保存文件
控件设计提示:
用CommonDialog 实现文件的存储。
用picturebox实现画板的功能。
程序设计提示:
使用三个类模块实现画圆、画线和画矩形。
使用菜单编程来调用一些控件和一些类模块。
文件建立提示:
如图3.3
[img]http://photo1.bababian.com/upload11/20080703/3FE37988719770CD02C5CC0C2A14BF21_500.jpg[/img]
图3.3 工程文件的界面 我自己按照要求做的,但完全不对,根本不能运行
这是画图程序,应该怎么改呢?
Sub EditColor_Click()
CommonDialog1.Action = 3
Picture2.ForeColor = CommonDialog.Color
End Sub
Private Sub Exit_Click()
End
End Sub
Sub picture2_Load()
drawstate = False
End Sub
Sub picture2_mousedown(button As Integer, shift As Integer, X As Single, Y As Single)
If button = 1 Then
drawstate = True
PreX = X
PreY = Y
End If
If button = 2 Then
Circle (X, Y), 280
End If
End Sub
Sub picture2_mousemove(button As Integer, shift As Integer, X As Single, Y As Single)
If drawstate = True Then
Line (PreX, PreY)-(X, Y)
PreX = X
PreY = Y
End If
End Sub
Sub picture2_mouseup(button As Integer, shift As Integer, X As Single, Y As Single)
If button = 1 Then
drawstate = False
End If
End Sub
Sub New_Click()
Picture2 = ""
End Sub
Sub Open_Click()
CommonDialog1.Action = 1
End Sub
Sub Print_Click()
CommonDialog1.Action = 5
For i = 1 To CommonDialog1.Copies
Printer.Print Picture2
Next i
Printer.EndDoc
End Sub
Sub SaveAs_Click()
CommonDialog1.FileName = "*.drw"
CommonDialog1.DefaultExt = "drw"
CommonDialog1.Action = 2
Open CommonDialog1.FileName For Output As #1
Print #1, Picture2
Close #1
End Sub
Private Sub Toolbar1_ButtonClick(ByVal button As MSComCtlLib.button)
On Error Resume Next
Select Case button.Key
Case "新建"
mnuFileNew_Click
Case "打开"
mnuFileOpen_Click
Case "保存"
mnuFileSave_Click
Case "直线"
mnuFileLine_Click
Case "矩形"
mnuFileRec_Click
Case "椭圆"
mnuFileCircle_Click
End Select
End Sub
Private Sub mnuFileNew_Click()
Picture2 = ""
End Sub
Private Sub mnuFileOpen_Click()
On Error Resume Next
Dim FileNo As Long
CommonDialog1.CancelError = True
CommonDialog1.Filter = "文本文件|*.txt|所有文件|*.*"
CommonDialog1.InitDir = "C:\My Documents"
CommonDialog1.Flags = &H200000
CommonDialog1.ShowOpen
If Err.Number = 32755 Then Exit Sub
FileName = CommonDialog1.FileName
FileNo = FreeFile
Open FileName For Input As #FileNo
TextEdit.Text = StrConv(InputB(LOF(FileNo), #FileNo), vbUnicode)
Close #FileNo
MnuItemNum = MnuItemNum + 1
End Sub
Private Sub mnuFileSave_Click()
MsgBox "Save"
End Sub
Private Sub mnuFileLine_Click()
flag = 1
End Sub
Private Sub mnuFileRec_Click()
flag = 2
End Sub
Private Sub mnuFileCircle_Click()
flag = 3
End Sub
[[it] 本帖最后由 xiatingyun 于 2008-7-3 20:57 编辑 [/it]]
页:
[1]
