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

鼠標編程小技巧二則

編輯:VB綜合教程
一.通過鼠標在屏幕上的移動來控件程序界面
  
  本例通過鼠標在屏幕上的移動來控制程序窗體的顯示與隱藏:當鼠標移動到窗體所在區域時窗體顯示,反之隱藏起來。僅需一條API函數:GetCursorPos。注意:如果需要將API函數置於模塊中請對代碼作相應修改。要嘗試本例,需給標准EXE工程缺省添加一個Timer控件。
  
  PrivateTypePOINTAPI
  xAsLong
  yAsLong
  EndType
  
  PrivateDeclareFunctionGetCursorPosLib"user32"(lpPointAsPOINTAPI)AsLong
  
  PrivateSubForm_Load()
  Me.Visible=False
  Timer1.Enabled=True
  Timer1.Interval=100
  EndSub
  
  PrivateSubTimer1_Timer()
  DimlResultAsLong
  DimlpPointAsPOINTAPI
  DimiCounterAsInteger
  lResult=GetCursorPos(lpPoint)
  IflpPoint.x<Me.LeftScreen.TwipsPerPixelXOrlpPoint.x>(Me.Left _
  Me.Width)Screen.TwipsPerPixelXOrlpPoint.y<Me.Top\_
  Screen.TwipsPerPixelYOrlpPoint.y-10>(Me.Top Me.Height)\_
  Screen.TwipsPerPixelYThen
  Me.Visible=False'鼠標在窗體區域之外時
  Else
  Me.Visible=True'鼠標在窗體區域之內時
  EndIf
  EndSub
  
  二.獲得Mouse_Exit事件
  
  所謂Mouse_Exit事件,是指鼠標指針離開某一控件所應發生的事件。本例是通過Form_MouseMove事件來判斷鼠標指針是在窗體之內還是窗體之外的,你可根據需要作相應改動。請給窗體缺省創建一個按鈕(用於觀察效果)。
  
  PrivateDeclareFunctionSetCaptureLib"user32"(ByValhWndAsLong)AsLong
  PrivateDeclareFunctionReleaseCaptureLib"user32"()AsLong
  
  PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  DimMouseExitAsBoolean
  MouseExit=(0<=X)And(X<=Me.Width)And(0<=Y)And(Y<=Me.Height)
  IfMouseExitThen
  Me.Caption="鼠標指針在窗體范圍內"
  Command1.Enabled=True
  SetCaptureMe.hWnd
  Else
  Me.Caption="鼠標指針在窗體范圍外"
  Command1.Enabled=False
  ReleaseCapture
  EndIf
  EndSub->

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