VB 5.0中完成鼠標(biāo)拖放
發(fā)表時(shí)間:2024-02-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Windows 3.x 、 Windows 95 和 Widnows 98中,拖放是最常用的操作,VB5.0在程序設(shè)計(jì)中能非常容易地實(shí)現(xiàn)這一操作。 與拖放有關(guān)的屬性 1、DragMode 屬性 該屬性用來設(shè)置自動(dòng)或手動(dòng)拖放模式,缺省值為0(手動(dòng)方式)。為了讓控件自動(dòng)執(zhí)行拖放操作,...
Windows 3.x 、 Windows 95 和 Widnows 98中,拖放是最常用的操作,VB5.0在程序設(shè)計(jì)中能非常容易地實(shí)現(xiàn)這一操作。
與拖放有關(guān)的屬性
1、DragMode 屬性
該屬性用來設(shè)置自動(dòng)或手動(dòng)拖放模式,缺省值為0(手動(dòng)方式)。為了讓控件自動(dòng)執(zhí)行拖放操作,必須把它的屬性設(shè)為1,該屬性即可以在屬性窗口中設(shè)置,也可以在程序中設(shè)置,如:Picture1.DragMode=1一個(gè)對(duì)象的DragMode屬性值為1時(shí),該控件不再接收Click事件和MouseDown事件。
2、DragIcon 屬性
在拖動(dòng)中,并非對(duì)象本身在移動(dòng),而是代表對(duì)象的圖標(biāo)。即一旦拖動(dòng)某個(gè)控件,該控件就變成一個(gè)圖標(biāo),放下后再恢復(fù)原來控件。DragIcon屬性含有一個(gè)圖標(biāo)或圖片的文件名,如:Picture1.DragIcon=c:\vb5\icons\computer\disk06.ico 當(dāng)拖動(dòng)Picture1時(shí),Picture1即變成由disk06.ico 所代表的圖標(biāo)。
與拖放有關(guān)的事件
與拖放有關(guān)的事件是DragDrop 和DragOver, 把控件拖動(dòng),如松開鼠標(biāo)按鈕,則產(chǎn)生DragDrop事件,事件過程格式如下:
Sub 對(duì)象名_DragOver(Source As Control, X As Single , Y As single, State As Integer)
......
End Sub
該對(duì)象含有三個(gè)參數(shù),其中Source 為一個(gè)對(duì)象變量,類型為Control .該參數(shù)含有被托動(dòng)對(duì)象的屬性,參數(shù)X、Y為松開鼠標(biāo)按鈕時(shí)光標(biāo)的位置。
DragOver 事件用于圖標(biāo)移動(dòng),格式如下
Sub 對(duì)象名_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
……
End Sub
該事件含有四個(gè)參數(shù),Source 含義同前,X、Y是鼠標(biāo)托動(dòng)時(shí)光標(biāo)的位置坐標(biāo),State有三個(gè)值可取,當(dāng)為0時(shí),鼠標(biāo)光標(biāo)正進(jìn)入目標(biāo)對(duì)象區(qū)域,當(dāng)為1時(shí),鼠標(biāo)光標(biāo)正退出目標(biāo)對(duì)象區(qū)域,當(dāng)為2 時(shí),鼠標(biāo)光標(biāo)正位于目標(biāo)對(duì)象的區(qū)域之內(nèi)。
與拖放有關(guān)的方法
與拖放有關(guān)的方法是Move 和Drag。 Move 方法大家已經(jīng)很熟悉了,下面介紹Drag方法,Drag方法格式為:
控件.Drag 整數(shù),整數(shù)范圍為0,1,2 含義分別為:
0 取消托動(dòng)操作,1 開始拖動(dòng)操作,2 結(jié)束操作手動(dòng)舉例在窗體上建立一個(gè)圖片框,裝入一個(gè)圖標(biāo),首先設(shè)置圖片框的DragIcon 屬性。
Sub Form_Load( )
Picture1.DragIcon=Picture1.Picture1.Picture
End Sub
接著用MouseDown事件過程打開拖拉開關(guān)。
Sub Picture1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Drag 1
End Sub
下面過程是當(dāng)松開鼠標(biāo)按鈕時(shí),關(guān)閉拖拉開關(guān),停止拖拉并產(chǎn)生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中文版下運(yùn)行通過
(烏魯木齊新疆工學(xué)院 屈強(qiáng) 830008)