dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Visual Basic
Expertise: Beginner
Jun 1, 1999

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Track MousePointer Changes

If you develop large apps, this routine can help you keep a count of calls to change the mousepointer. The routine, called MouseStack, keeps a stack of those calls and resets the pointer to the default when the stacks are equal or when a reset is forced.

Often, one routine sets the MousePointer to hourglass, then calls another routine that also sets it to hourglass, then back to default. However, you might not want it reset just yet. MouseStack() changes the pointer back only if the counts of calls to hourglass and default are equal, and/or the user calls MouseStack() with vbResetMouse to set the pointer to the default:

 
Public Enum MousePointers
	vbDefault = 0
	'set pointer to default
	vbHourglass = 11
	'set pointer to hourglass
	vbResetMouse = 99
	'reset static variables, set pointer 
	'to default
End Enum

Public Sub MouseStack(nMouseSetting As _
	MousePointers)
	Static nHourglass As Integer
	Static nDefault As Integer

	' Based on the setting entered in, 
	'increment the proper variable
	Select Case nMouseSetting
		Case vbHourglass		' 11
			nHourglass = nHourglass + 1
		Case vbDefault		' 0
			nDefault = nDefault + 1
		Case Else
	End Select

	' If the variables are now equal, or 
	' a reset was called, reset the 
	' variables, and set the mouse 
	' pointer to the default
	If (nHourglass = nDefault) Or _
		(nMouseSetting _
		= vbResetMouse) Then
		nHourglass = 0
		nDefault = 0
		Screen.MousePointer = vbDefault
		Exit Sub
	End If

	' If the difference is > 1, the 
	' pointer is already set to where it 
	' should be. Leave without setting 
	' pointer.
	If (Abs(nHourglass - nDefault) > _
		1) Then Exit Sub

	' If one is ahead, set the 
	' mousepointer to it
	If (nHourglass > nDefault) Then
		Screen.MousePointer = vbHourglass
	Else
		Screen.MousePointer = vbDefault
	End If
End Sub
T.J. (Tom)
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date