VB 5.0中實現鼠標拖放

發表于:2007-07-14來源:作者:點擊數: 標簽:
Windows 3.x 、 Windows 95 和 Widnows 98中,拖放是最常用的操作, VB 5.0在程序設計中能非常容易地實現這一操作。 與拖放有關的屬性 1、DragMode 屬性 該屬性用來設置自動或手動拖放模式,缺省值為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中文版下運行通過

(烏魯木齊新疆工學院 屈強 830008) 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97