╔-------------------------------------------------╗
┆ VB编程设计系列教程④ ┆
┆ 网址 HTTP://Www.Hack58.Com ┆
┆ 论坛 HTTP://Bbs.Hack58.Com ┆
┆ QQ:541583211 断罪の翼 ┆
╚-------------------------------------------------╝
黑客动画吧 http://www.hack58.com
专业的黑客动画教程网站
免费学习黑客技术
成为黑客不是梦
打造国内最大的黑客动画网站
注意:所有教程全部对外免费开放
-------------------------------------------------------------------------------------------
大家好,我是断罪の翼,这是我们学习VB的第四课,上次我们将到了使用VB来做一个简单的画板,但
画板画出的只能是不连续的点,今天我们再来改进一下。
我们看一下上节用到的代码:
Dim bz AS Boolean
Private Sub Form_MouseDown(Button AS Integer,Shift AS Integer,X AS Single,Y AS Single)
bz = True
End Sub
Private Sub Form_MouseMove(Button AS Integer,Shift AS Integer,X AS Single,Y AS Single)
If bz Then
PSet (X,Y)
End If
End Sub
Private Sub Form_MouseUp(Button AS Integer,Shift AS Integer,X AS Single,Y AS Single)
bz = False
End Sub
看仔细我对它做的修改,然后加入修改后的代码,试一下程序,好了。。除了我们以前讲的三个事件
过程,在用鼠标进行操作时,Click和DblClick这两个常用事件也会在符合条件时被触发。单击时,触发
的事件及触发顺序是:MouseDown、MouseUp、Click:双击时,触发的事件为:MouseDown、MouseUp、
Click、DblClick、MouseUp.同时在这些事件过程之间或前后,只要鼠标有移动, MouuseMove事件随时被
触发。
单击与双击对象的事件过程格式分别为:
Private Sub 对象名_Click([Index As Integer])
……(单击事件执行的代码)
End Sub
Private Sub 对象名_DblClick([Index As Integer])
……(双击事件执行的代码)
End Sub
鼠标事件中,[Index As Integer]的含义是:如果响应鼠标事件的控件是控件数组中的一个元素,则
Index参数的值为该控件元素的Index属性值。
把鼠标指向一对象,按下鼠标并把该对象移动到另一指定的目标对象的过程称为拖放。拖放后释放鼠
标,会触发目标对象的DragDrop拖放事件。其事件过程的格式为:
Prevate Sub 目标对象名_([Index As Integer],Source As Control,X As Single,Y As Single)
……(拖放事件执行的代码)
End Sub
代码中,Source是被拖放的对象。其他参数的含义与前几个鼠标事件相同。
下面我们新建一个工程,在Form1窗体上添加Picture控件和Image控件。
然后加入以下代码:
Private Sub Form_Load()
Image1.Picture = LoadPicture("D:\123.ico")
Image1.MouseIcon = LoadPicture("D:\456.cur")
Image1.DragMode = 1
End Sub
Private Sub Picture1_DragDrop(Source As Control,X AS Single,Y As Single)
Image1.Visible = False
Picture1.AutoSize = True
Picture1.Picture = Image1.Picture
End Sub
我们运行程序,可以了。。。
当用户用鼠标拖动某对象经过另一目标对象时,无论是否松开鼠标,都会触发目标对象的DragOver拖
动事件。其事件过程的格式为:
Private Sub 目标对象名_([Index As Integer],Source As control,X As Singel,Y As Single,State As Integer)
……(拖动事件执行的代码)
End Sub
其中,State参数是被拖动的对象在目标对象上被拖动的状态。0为进入;1为离去;2为跨越。
通过判断State参数的当前值,可以实现一些特殊操作,如被拖动对象的范围内加亮或反相显示,在
目标对象范围外为正常显示。
其他参数的含义与 DragDrop事件相同。
Move的方法的格式如下:
[对象名.]Move X [,Y[宽度[,高度]]]
其功能是把对象移动到指定的坐标(X,Y)位置,并且可以重新设置对象的宽度和高度。
Move方法也鼠标时间结合起来使用,就可以实现任意控件的拖放。
Drag方法的格式如下:
对象名.Drag 参数
其功能是手动拖动对象。
参数为0,取消拖动操作;为1,开始拖动;为2 ,结束拖动。
使用Drag方法与DragDrop事件最大的不同之处是:Drag方法在拖放过程中可以触发别的鼠标事件。
好了,教程就到这里吧,下次我们要讲的是VB程序设计语言,我的论坛http://hack123.zzzg.com
再见!!!