VB5.0中实现鼠标拖放

2016-02-19 18:28 24 1 收藏

下面图老师小编要向大家介绍下VB5.0中实现鼠标拖放,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - 编程语言 】

Windows3.x、Windows95和Widnows98中,拖放是最常用的操作,VB5.0在程序设计中能非常容易地实现这一操作。
  与拖放有关的属性
  1、DragMode属性
  该属性用来设置自动或手动拖放模式,缺省值为0(手动方式)。为了让控件自动执行拖放操作,必须把它的属性设为1,该属性即可以在属性窗口中设置,也可以在程序中设置,如:Picture1.DragMode=1一个对象的DragMode属性值为1时,该控件不再接收Click事件和MouseDown事件。

2、DragIcon属性
  在拖动中,并非对象本身在移动,而是代表对象的图标。即一旦拖动某个控件,该控件就变成一个图标,放下后再恢复原来控件。DragIcon属性含有一个图标或图片的文件名,如:Picture1.DragIcon=c:vb5iconscomputerdisk06.ico当拖动Picture1时,Picture1即变成由disk06.ico所代表的图标。
  与拖放有关的事件
  与拖放有关的事件是DragDrop和DragOver,把控件拖动,如松开鼠标按钮,则产生DragDrop事件,事件过程格式如下:
  Sub对象名_DragOver(SourceAsControl,XAsSingle,YAssingle,StateAsInteger)
  ......
  EndSub

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

该对象含有三个参数,其中Source为一个对象变量,类型为Control.该参数含有被托动对象的属性,参数X、Y为松开鼠标按钮时光标的位置。
  DragOver事件用于图标移动,格式如下
  Sub对象名_DragOver(SourceAsControl,XAsSingle,YAsSingle,StateAsInteger)
  ……
  EndSub

该事件含有四个参数,Source含义同前,X、Y是鼠标托动时光标的位置坐标,State有三个值可取,当为0时,鼠标光标正进入目标对象区域,当为1时,鼠标光标正退出目标对象区域,当为2时,鼠标光标正位于目标对象的区域之内。
  与拖放有关的方法
  与拖放有关的方法是Move和Drag。Move方法大家已经很熟悉了,下面介绍Drag方法,Drag方法格式为:
  控件.Drag整数,整数范围为0,1,2含义分别为:
  0取消托动操作,1开始拖动操作,2结束操作手动举例在窗体上建立一个图片框,装入一个图标,首先设置图片框的DragIcon属性。

SubForm_Load()
  Picture1.DragIcon=Picture1.Picture1.Picture
  EndSub

接着用MouseDown事件过程打开拖拉开关。
  SubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  Picture1.Drag1
  EndSub

下面过程是当松开鼠标按钮时,关闭拖拉开关,停止拖拉并产生DragDrop事件。
  SubPicture1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  Picture1.Drag2
  EndSub

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

最后是DragDrop事件
  SubForm_DragDrop(SourceAsInteger,XAsSingle,YAsSingle)
  Source.Move(X-Source.Width/2),(Y-Source.Height/2)
  EndSub
  该程序在VB5.0中文版下运行通过。

->

来源:http://www.tulaoshi.com/n/20160219/1617816.html

延伸阅读
在缺省情况下,应用程序中的第一个窗体被指定为启动窗体。应用程序开始运行时,此窗体就被显示出来(因而最先执行的代码是该窗体Form_Initialize事件中的代码)。如果想在应用程序启动时显示别的窗体,就得改变启动窗体,其方法如下: 1从“工程”菜单中,选劝工程属性”。 2选劝通用”。 3在“启动对象”下拉列表中,选取要作...
尽管Windows的API函数在当今Visual成风的时代正渐渐被人们忘却,但是正如当年开发高技巧的DOS软件离不开汇编语言和DOS系统功能调用一样,无论开发平台高级到什么地步,只要Windows还在最底层运作,就要用到API函数。无论VB的开发手段多么高明,功能多么强大,但是在现实应用中,总有一些功能的实现是VB无能为力的。微软也早意识到这一点,...
标签: Web开发
C#实现文件拖放并打开文件 需要知道的ListBox的两个事件:当您在控件的边界内拖动对象时,便会发生 DragEnter 事件;该事件用于确 定当前拖动的对象是不是您要放到控件上的对象。 在将一个或多个文件拖到控件上时,需要处理此事件。 这使 得在将对象拖到控件上方时,能够根据所拖动的对象显示相应的图标。 将拖动的对象释放到控件上时,...
在VISUALBASIC中没有什么命令或函数能够实现将一个位图旋转一个角度后显示出来,但我们可以用画点的方式,将一个图画盒中的位图中的像素点旋转一个角度后画入另一个图画盒中,当源图画盒中的像素都被画到目标图画盒中时,也就完成了位图的旋转。这里主要用到了VISUALBASIC中的两个方法:POINT方法和PSET方法。POINT方法的作用是从源图画盒中提取...
->设置各控件的属性如下: Form1:AutoRedraw:True ScaleMode:3 Picture1:AutoRedraw:True ScaleMode:3 Visible:False 2代码编写 Modull.bas中的内容(声明BitBlt函数): PublicConstSRCCOPY=&HCC0020'(DWORD)dest=source DeclareFunctionBitBltLib"gdi32"Alias"BitBlt"(ByValhDestDCAsLon...

经验教程

178

收藏

19
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部