Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

Correctly restore mouse cursor

Total Hit ( 3394)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


When you write lengthy procedures, it is a good habit to change the mouse cursor to an hourglass, and restore it to the original shape when the procedure exits. However, this cursor tracking may be rather difficult when the procedure has multiple exit points, or when it can exit abruptly because of an unanticipated error. An alternative, better approach is to use a very simple class that changes the mouse cursor to your desired shape, and automatically restores it when the object reference is destroyed:

Click here to copy the following block
' the CMouseCursor class
Private oldMousePointer As Variant

' enforce a new cursor
Sub SetCursor(Optional NewCursor As MousePointerConstants = vbHourGlass)
  If IsEmpty(oldMousePointer) Then
    ' save the original cursor, but only the first
    ' time this method is invoked in this instance
    oldMousePointer = Screen.MousePointer
  End If
  Screen.MousePointer = NewCursor
End Sub

Private Sub Class_Terminate()
  ' restore original mouse cursor, if it changed
  If Not IsEmpty(oldMousePointer) Then
    Screen.MousePointer = oldMousePointer
  End If
End Sub

Note that the class stores the mouse cursor only the first time the SetCursor is invoked; if you omit any argument when calling the method, the cursor is changed to an hourglass. Here is an example of how this class can be used:

Click here to copy the following block
Sub MyRoutine()
  Dim mouse As New CMouseCursor
  ' save current cursor, enforce a new one
  mouse.SetCursor vbArrowQuestion
  ' ...
  ' change to an hourglass
  mouse.SetCursor
  ' ...
  ' the original mouse cursor is automatically
  ' restored when this procedure is exited
End Sub


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.