Chinaunix首页 | 论坛 | 博客
  • 博客访问: 627716
  • 博文数量: 603
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 4940
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-17 11:04
文章分类

全部博文(603)

文章存档

2011年(1)

2008年(602)

我的朋友

分类:

2008-09-17 11:04:25


这里我们主要简单的讨论一下,如何从Windows资源管理器中拖动一组文本,然后将它们拖放到一个文本框控件中就可将文件全部打开。
为了说明这一点,以下过程可用一个文本框控件以及OLEDragOver和OLEDragDrop事件,并用DataObject对象中的Files属性和vbCFFiles数据格式打开一组文本文件。

首先在Visual Basic中启动新的工程。向窗体添加一个文本框控件并将其OLEDropMode属性设置为"手工"。将MultiLine属性设置为True,将ScrollBars设为2-Vertical,并清除Text属性

代码如下:

Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Data.GetFormat(vbCFFiles) Then
For Each vfn In Data.Files '循环打开文件
Open vfn For Input As #1
Do While Not EOF(1)
Line Input #1, linefile
Text1 = Text1 & linefile & vbCrLf
Loop
Close #1
Next vfn
End If
End Sub

下列事件中,用GetFormat方法检测兼容的数据格式(vbCFFiles)
Private Sub Text1_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
If Data.GetFormat(vbCFFiles) Then
'若数据格式正确,则把即将执行的操作通知源
Effect = vbDropEffectCopy And Effect '放下的结果为复制
Exit Sub
End If
'若数据格式不合适,则不放下
Effect = vbDropEffectNone
End Sub


--------------------next---------------------

阅读(338) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~