-
vb教程之VB 5.0中实现鼠标拖放
Windows 3.x 、 Windows 95 和 Widnows 98中,拖放是最常用的操作,VB5.0在程序设计中能非常容易地实现这一操作。
与拖放有关的属性
1、DragMode 属性
该属性用来设置自动或手动拖放模式,缺省值为0(手动方式)。为了让控件自动执行拖放操作,必须把它的属性设为1,该属性即可以在属性窗口中设置,也可以在程序中设置,如:Picture1.DragMode=1一个对象的DragMode属性值为1时,该控件不再接收Click事件和MouseDown事件。
2、DragIcon 属性
在拖动中,并非对象本身在移动,而是代表对象的图标。即一旦拖动某个控件,该控件就变成一个图标,放下后再恢复原来控件。DragIcon属性含有一个图标或图片的文件名,如:Picture1.DragIcon=c:\vb5\icons\computer\disk06.ico 当拖动Picture1时,Picture1即变成由disk06.ico 所代表的图标。
与拖放有关的事件
与拖放有关的事件是DragDrop 和DragOver, 把控件拖动,如松开鼠标按钮,则产生DragDrop事件,事件过程格式如下:
Sub 对象名_DragOver(Source As Control, X As Single , Y As single, State As Integer)
......
End Sub
该对象含有三个参数,其中Source 为一个对象变量,类型为Control .该参数含有被托动对象的属性,参数X、Y为松开鼠标按钮时光标的位置。
DragOver 事件用于图标移动,格式如下
Sub 对象名_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
……
End Sub
该事件含有四个参数,Source 含义同前,X、Y是鼠标托动时光标的位置坐标,State有三个值可取,当为0时,鼠标光标正进入目标对象区域,当为1时,鼠标光标正退出目标对象区域,当为2 时,鼠标光标正位于目标对象的区域之内。
与拖放有关的方法
与拖放有关的方法是Move 和Drag。 Move 方法大家已经很熟悉了,下面介绍Drag方法,Drag方法格式为:
控件.Drag 整数,整数范围为0,1,2 含义分别为:
0 取消托动操作,1 开始拖动操作,2 结束操作手动举例在窗体上建立一个图片框,装入一个图标,首先设置图片框的DragIcon 属性。
Sub Form_Load( )
Picture1.DragIcon=Picture1.Picture1.Picture
End Sub
接着用MouseDown事件过程打开拖拉开关。
Sub Picture1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Drag 1
End Sub
下面过程是当松开鼠标按钮时,关闭拖拉开关,停止拖拉并产生DragDrop事件。
Sub Picture1_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Drag 2
End Sub
最后是DragDrop事件
Sub Form_DragDrop (Source As Integer, X As Single , Y As Single)
Source.Move (X- Source.Width/2),(Y- Source.Height/2)
End Sub
该程序在VB5.0中文版下运行通过
与拖放有关的属性
1、DragMode 属性
该属性用来设置自动或手动拖放模式,缺省值为0(手动方式)。为了让控件自动执行拖放操作,必须把它的属性设为1,该属性即可以在属性窗口中设置,也可以在程序中设置,如:Picture1.DragMode=1一个对象的DragMode属性值为1时,该控件不再接收Click事件和MouseDown事件。
2、DragIcon 属性
在拖动中,并非对象本身在移动,而是代表对象的图标。即一旦拖动某个控件,该控件就变成一个图标,放下后再恢复原来控件。DragIcon属性含有一个图标或图片的文件名,如:Picture1.DragIcon=c:\vb5\icons\computer\disk06.ico 当拖动Picture1时,Picture1即变成由disk06.ico 所代表的图标。
与拖放有关的事件
与拖放有关的事件是DragDrop 和DragOver, 把控件拖动,如松开鼠标按钮,则产生DragDrop事件,事件过程格式如下:
Sub 对象名_DragOver(Source As Control, X As Single , Y As single, State As Integer)
......
End Sub
该对象含有三个参数,其中Source 为一个对象变量,类型为Control .该参数含有被托动对象的属性,参数X、Y为松开鼠标按钮时光标的位置。
DragOver 事件用于图标移动,格式如下
Sub 对象名_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
……
End Sub
该事件含有四个参数,Source 含义同前,X、Y是鼠标托动时光标的位置坐标,State有三个值可取,当为0时,鼠标光标正进入目标对象区域,当为1时,鼠标光标正退出目标对象区域,当为2 时,鼠标光标正位于目标对象的区域之内。
与拖放有关的方法
与拖放有关的方法是Move 和Drag。 Move 方法大家已经很熟悉了,下面介绍Drag方法,Drag方法格式为:
控件.Drag 整数,整数范围为0,1,2 含义分别为:
0 取消托动操作,1 开始拖动操作,2 结束操作手动举例在窗体上建立一个图片框,装入一个图标,首先设置图片框的DragIcon 属性。
Sub Form_Load( )
Picture1.DragIcon=Picture1.Picture1.Picture
End Sub
接着用MouseDown事件过程打开拖拉开关。
Sub Picture1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Drag 1
End Sub
下面过程是当松开鼠标按钮时,关闭拖拉开关,停止拖拉并产生DragDrop事件。
Sub Picture1_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Drag 2
End Sub
最后是DragDrop事件
Sub Form_DragDrop (Source As Integer, X As Single , Y As Single)
Source.Move (X- Source.Width/2),(Y- Source.Height/2)
End Sub
该程序在VB5.0中文版下运行通过
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比