程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB5.0中實現鼠標拖放

VB5.0中實現鼠標拖放

編輯:VB綜合教程
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

該對象含有三個參數,其中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

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

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved