• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在VB中实现拖放功能

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 22次 | 进入软件测试论坛讨论

领测软件测试网

   
  在VB中实现拖放功能
  Windows资源管理器中使用文件的拖放可以很方便地对文件进行复制、移动,其实要实现拖放功能只要在VB中设置一下,写入几行代码就可以搞定!好了,下面我们就开始自己手动来实现这个功能吧。 首先,新建一个工程。

再加入一个Command1控件,将Caption属性设置为“我的拖放程序”,再将OLEDropMode设置为1(即Manual)即可实现拖放动能,当然要真正实现拖放的过程还得写入几行代码才行。 下面就是实现拖放功能的代码: 双击Command1控件,选择OLEDragDrop事件,代码如下: Private Sub Command1_OLEDragDropData As DataObject Effect As Long Button As Integer Shift As Integer X As Single Y As Single If Data.GetFormatvbCFText = True Then Me.Caption = Data.GetDatavbCFText End If End Sub 以上代码作用是将用户拖过来的文字显示在窗体中的标题栏(即Caption)中。单击“F5键”运行该程序,然后用写字板输入一句话,将文字全部选中,再将选中的文字拖动到Command1控件中,此时你将发现窗体中的标题栏中显示的就是拖动来的文字。
  以下代码是显示用户拖动过来的图片文件: 首先,引入Picture1控件,其设置与Command1相同,将其OLEDropMode设置为1。然后双击Picture1控件,选择OLEDragDrop事件,输入以下代码: Private Sub Picture1_OLEDragDropData As DataObject Effect As Long Button As Integer Shift As Integer X As Single Y As Single If Data.GetFormatvbCFFiles = True Then Picture1.Picture = LoadPictureData.Files.Item1 End If End Sub 单击“F5”键运行该程序,将图片文件拖动到Picture1控件中即可在Picture1中显示出该图片来。要注意的是:Picture1控件只能显示BMP、JPG、WMF、ICON文件,而GIF动画及PSD等文件格式无法显示。
  上面介绍如何接收拖动过来的文字及图片,下面介绍如何打开拖动过来的文件,且用与之关联的程序来打开。其代码如下: 首先,引入Text1控件,将OLEDropMode设置为1。再新建一个模块,在Module1中输入以下代码: Public Declare Function ShellExecute Lib ″shell32.dll″ Alias ″ShellExecuteA″ ByVal hwnd As Long ByVal lpOperation As String ByVal lpFile As String ByVal lpParameters As String ByVal lpDirectory As String ByVal nShowCmd As Long As Long 再双击Text1控件,选择OLEDragDrop事件,输入以下代码: 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 = True Then Dim GetFilePathStr As String Dim W Dim i As Integer If Data.Files.Count > 1 Then ′如果是拖放的多个文件则依次打开 For i = 1 To Data.Files.Count GetFilePathStr = Data.Files.Itemi W = ShellExecute0& vbNullString GetFilePathStr vbNullString vbNullString vbNormalFocus Next Else ′如果只有一个文件 GetFilePathStr = Data.Files.Item1 W = ShellExecute0& vbNullString GetFilePathStr vbNullString vbNullString vbNormalFocus End If End If End Sub 单击“F5”键运行该程序,将任意一个文件拖放到Text1控件中,程序将启动相应的程序来打开它。如拖动MyFile.Doc文件到Text1控件中,程序将自动启动Word并打开该文件;如果我选择了多个文件并拖动到Text1控件中,程序将依次打开所选定的文件。
  如果你还有什么问题,欢迎来信与我交流。我的E-mail地址是:vber99@yeah.net。 (重庆 杜伟)

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网