文档管理方法的实现(4)

ZDNet软件频道 时间:2002-12-06 作者:黎宇 |  我要评论()
本文关键词:liyu
本文继续讲述文档管理软件的实现部分。这一节是本系列文章的最后一节,讲述文件移动和文档共享的方法。
控件移动文档功能的实现

怎样移动文档,并且保证移动过程中可视?这是用户所关心的。我们可以通过拖曳方法实现。我们把文件从列表视图中拖到树视图中,事实上就是拖动一个控件,在一个完整的拖放动作(即将一个控件拖动到一个对象上,并释放鼠标按钮)完成.。拖放操作中可以设置图标,产生拖放视角。这里有几个关键的事件如MouseMove、DragDrop、DragOver等。我们在列表视图的鼠标移动事件中通过判断鼠标左键是否按下确定拖放图标并产生拖放。代码如下:

Private Sub ListView1_MouseMove_
     (Button As Integer, Shift As Integer, x As Single, y As Single)

     If Button = vbLeftButton Then '指示拖动操作。

      indrag = True '设置标志为 true。

      '用 CreateDragImage 方法设置拖动图标。

      ListView1.DragIcon = ListView1.SelectedItem.CreateDragImage

      ListView1.Drag vbBeginDrag '拖动操作。

   End If

End Sub

在一个完整的拖放动作完成后,DragDrop事件发生。当完成拖动时我们应该判断光标是否移动到一个对象上,当光标移动到TreeView1时就显示为系统的突出颜色,这由DropHighlight指定。释放鼠标按钮后结束拖放动作。代码如下:

Private Sub ListView1_DragDrop_
    (Source As Control, x As Single, y As Single)

     If TreeView1.DropHighlight Is Nothing Then

      Set TreeView1.DropHighlight = Nothing

      indrag = False

      Exit Sub

   Else

      If nodX = TreeView1.DropHighlight Then Exit Sub

      Cls

     ' Print nodX.Text & " dropped on " & TreeView1.DropHighlight.Text

      Set TreeView1.DropHighlight = Nothing

      indrag = False

   End If

End Sub


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134