用VisualBasic编程建立自己的回收

文章作者 100test 发表时间 2007:08:01 12:33:36
来源 100Test.Com百考试题网


  在Windows 95中删除一个文件或文件夹,只需用鼠标拖动文件(夹)到回收站,然后松开鼠标按钮即可,这种可视化的操作给用户带来了很大方便。如果程序开发人员在自己的程序中能做到这样,在自己的程序中也增加一个和Windows中风格相同的回收站,那么开发出的程序一定会受到用户的欢迎。怎么才能完成这种操作呢?本文介绍一种使用Visual Basic编程来完成这个动作的方法。

  在Microsoft Windows资料中将按下鼠标按钮移动对象称为拖,将鼠标按钮的松开称为放。在Visual Basic中,如果项目中使用多个窗体,可以把一个图标从一个窗体拖放到另一个窗体。控件允许两种拖动,这取决于DragMode特性的两个不同的值。缺省情况是DragMode特性的值为0,除特定情况外不允许拖动控件;将这个特性的值改成1(Automatic)意味着用户可以拖动控件。

  下面介绍拖动鼠标删除文件方法的实现过程。在Visual Basic的项目中允许用户拖动代表文件的图标至处理单元,此单元相当于Windows 95中的回收站,在给出警告之后把文件从磁盘中删除。

  第一步,首先启动一个有两个窗体的项目,在启动窗体的下角加一个图片框(或图像控件),将这个控件的Picture特性设置成TRASH03.ICO文件中的图标,该文件位于Icon库的Computer子目录中。如果使用图片框,将AutoSize特性设置成True(如果选择一个图像控件,将Stretch特性设置成False)。

  第二步,建立两个控件数组,一个是控件名为FileName的标签数组,另一个名字为Files的图像控件数组。将图像控件的DragMode特性设置成1(Automatic);将Visble特性设置成False,使标签和图像控件在运行时都不可见。通常,这些控件数组中的所有后续元素都继承这些特性。

  这个项目中的大多数工作都体现在下面的DragDrop事件过程中:

  Private Sub Garbage_DragDrop(Source As Control,X As Single,Y As Single)
  ‘local variables
  Dim Msg As String
  Dim ControlIndex As Integer,YesNo As Integer
  ControlIndex=Source.Index
  Forml.FileName(ControlIndex).Visble=False
  Msg= "Do you really want to 0delete"
  Forml.FileName(ControlIndex).Caption
  YesNo=MsgBox(Msg,vbYesNo, "Confirmation Box")
  If YesNo=vbYes Then
  Kill(Forml.FileName(ControlIndex).Caption)
  Unload Files(ControlIndex)
  Unload Forml.FileName(ControlIndex)
  Else
  Forml.FileName(ControlIndex).Visible=True
  Forml.File(ControlIndex).Visible=True
  End If
  End Sub

  该事件过程中的ControlIndex这一行代码找出被拖动控件的索引;接下来的两行代码使图片框和标签在放置操作后暂时不可见。ControlIndex变量让Visual Basic从标签数组中提取标题(也就是文件名)。消息框的类型为=vbYesNo,因此是个Yes/No消息框,标题是Confirmation Box。Kill命令从磁盘中删除文件。一旦程序删除了文件,就从控件数组中卸除标签和图片框。如果用户操作有误,确认的消息框返回No,则程序代码使得原来的图片框和标签再次显现。

  下一步,建立一个称为Directons的通用过程,在一个窗体上显示出给用户提供的这个应用程序所需的信息,该窗体用作一个定制对话框。

  Sub Directons ()
  Forml.Hide
  Form2.Show
  Form2.Cls
  Form1.Print "This program illustrates dragging and 0dropping mouse operations."
  Form2.Print "The user gives a file spec inside the message box and a form"
  Form2.Print "appears with icons labelled by all the files with that file specifcation."
  Form2.Print "The user can drag the icon to be ´.flushed´. away i. e. 0deleted."
  End Sub

  对话框上OK按钮的Click过程是:

  Private Sub btnOK-Click ()
  Me.Hide
  Form1.Show
  End Sub
src="/ncre2/js/wxgg.js">


相关文章


轻松应对JSP连接MySQL数据库问题[2]
轻松应对JSP连接MySQL数据库问题[1]
数据库备份可能出错的十种情况总结
使用VB将ASP代码封装生成DLL文件
用VisualBasic编程建立自己的回收
VisualBasic的未来预告
知己知彼了解VB编写病毒大体方法
VisualBasic常用术语释义
教你如何用VisualBasic编写病毒
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛