编程论坛's Archiver

xiatingyun 发表于 2008-7-3 20:48

求助——怎样用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 工程文件的界面

xiatingyun 发表于 2008-7-3 20:49

我自己按照要求做的,但完全不对,根本不能运行

这是画图程序,应该怎么改呢?



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]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.