CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

如何可以拖动一个文件到我的程序的窗口的Listbox中?

楼主ynduanlian(进一步海阔天高,退一步粉身碎骨)2005-05-22 08:46:38 在 VB / 控件 提问

即从操作系统中拖动一个文件到我的窗口的Listbox中放下后,这个文件的名称(如C:\a.txt)就添加在ListBox中? 问题点数:20、回复次数:2Top

1 楼wzzwwz(皮皮鲁)回复于 2005-05-22 09:44:48 得分 20

Option   Explicit  
   
  Private   Sub   Form_Load()  
          List1.OLEDropMode   =   1  
  End   Sub  
   
  Private   Sub   List1_OLEDragDrop(Data   As   DataObject,   Effect   As   Long,   Button   As   Integer,   Shift   As   Integer,   X   As   Single,   Y   As   Single)  
          If   Data.GetFormat(vbCFFiles)   Then   List1.AddItem   Data.Files(1)  
  End   Sub  
  Top

2 楼wzzwwz(皮皮鲁)回复于 2005-05-22 09:46:00 得分 0

 
  OLEDragDrop   事件  
               
   
  当源部件决定放操作能发生,且源部件被放到目标部件时,此事件发生。  
   
  注意   仅当   OLEDropMode   被设置为   1   (Manual)   时,此事件才发生。  
   
  语法  
   
  Private   Sub   object_OLEDragDrop(data   As   DataObject,   effect   As   Long,   button   As   Integer,   shift   As   Integer,   x   As   Single,   y   As   Single)  
   
  OLEDragDrop   事件语法包含下面部分:  
   
  部分   描述    
  Object   对象表达式,其值是“应用于”列表中的一个对象。    
  Data   DataObject   对象,包含源提供的格式,另外也可能包含这些格式的数据。若   DataObject   不包含数据,则当控件调用   GetData   方法时提供数据。SetData   和   Clear   方法不能用在这里。    
  Effect   源对象设置的长整型数,用来识别执行的动作,这样当部件被移动后允许源采取适当的动作(例如,如果源被从一个部件移到另一个部件,则执行删除数据操作)。可能的取值列于“设置值”中。    
  Button   整数,当按下鼠标键时,与鼠标状态相对应。左键为位   0,右键为位   1,中键为位   2。这些位相应的值分别为   1,2   和   4,它代表了鼠标键的状态。可设置三个位中的部分、全部或根本不设置,相应地表明部分、全部按键被按下或没有按键按下。    
  Shift   整数,当按下   SHIFT、ctrl   和   ALT   键时,与这些键状态相对应。   shift   键为位   0,ctrl   键为位   1,alt   键为位   2。这些位相应的值分别为   1,2   和   4,shift   参数代表了这些键的状态。可设置三个位中的部分、全部或根本不设置,相应地表明部分、全部按键被按下或没有按键按下。例如,同时按下   ctrl   和   ALT   键,shift   值为   6。    
  x,y   确定鼠标指针当前位置的数值。x   和   y   值由对象的   ScaleHeight、ScaleWidth、ScaleLeft   和   ScaleTop   属性设置的坐标系统的格式来表示。    
  VbDropEffectScroll   -2147483648一个掩码,指出放下目标窗口已经滚动或应该滚动。    
   
   
  设置值  
   
  effect   设置如下:  
   
  常数   值   描述    
  VbDropEffectNone   0   放目标不接受数据。    
  VbDropEffectCopy   1   放结果保存于从源到目标的数据拷贝中。初始数据没有被拖放操作改变。    
  VbDropEffectMove   2   放结果保存于要从拖放源移到放源的数据中。移动后,拖放源要删除数据。    
   
   
  说明  
   
  源   ActiveX   部件应总是屏蔽   effect   参数值,以确保同将来实现的   ActiveX   部件兼容。目前,仅使用了   effect   参数   32   位中的   3   位,然而将来的   Visual   Basic   版本就可能用到其它位。所以考虑到将来的问题,   拖源和放目标在进行任何比较之前应屏蔽这些值。  
   
  例如,源部件不能把   effect   同   vbDropEffectCopy   相比,如:  
   
  If   Effect   =   vbDropEffectCopy...    
   
  而是应该屏蔽该值或被搜寻的值,如:  
   
  If   Effect   And   vbDropEffectCopy   =   vbDropEffectCopy...    
   
  -或-  
   
  If   (Effect   And   vbDropEffectCopy)...    
   
  这样,允许在   Visual   Basic   新版本中定义新的放效果,并与现存的代码保持向后兼容性。  
   
  大部分部件支持人工   OLE   拖放事件,也有一些支持自动化   OLE   拖放事件。  
  Top

相关问题

  • 程序获得系统拖动文件总数时的问题。
  • 如何在两个程序的窗口中拖动拷贝文件
  • windows 文件拖动 与 应用程序的信息传递 问题!各位高手请赐教!
  • 关于拖动文件到程序的图标时,打开并执行一些其它操作的方法.
  • 文件拖动问题请教!急!!
  • 怎么实现打开拖动文件??
  • 求教:结合combobox和listbox设计文本文件保存/读取程序
  • 如何在资源管理器里拖动一个数据文件到应用程序(具体问题是:如何把一个*.swf文件用鼠标拖放到自编的Flash播放器的标题栏上,使之播放,
  • 程序文件格式
  • 求文件下载程序!

关键词

  • 数据
  • 文件
  • 屏蔽
  • vbdropeffectcopy
  • 部件
  • 拖放
  • oledragdrop
  • effect
  • 设置
  • dataobject

得分解答快速导航

  • 帖主:ynduanlian
  • wzzwwz

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo