这里我们主要简单的讨论一下,如何从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