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


Tip of the Day
Language: Visual Basic
Expertise: Beginner
Dec 16, 1998

Avoid the Flickering

Developers often need to load forms with information, which is time-consuming. The form is often a list box filled from an outside source, and this causes the list-box contents to flash annoyingly as the information goes into it. Solve this by bringing in the declaration of the LockWindowUpdate API call:
 
#If Win16 Then
	Declare Function LockWindowUpdate Lib _
		"User" (ByVal hWndLock As Integer) As Integer
#Else
	Declare Function LockWindowUpdate Lib _
		"user32" (ByVal hWndLock As Long) As Long
#End If
The hWndLock variable refers to the hWnd property of the form where you don't want to have screen updates shown. When you reissue the LockWindowUpdate with a value of 0 for hwndLock, you'll free up the screen and all updates will be shown instantly:
 
Dim lErr as Long
Dim x as Integer

'No list box flicker, it will appear blank for 
'just a moment...
Screen.MousePointer = vbHourglass
lErr = LockWindowUpdate(Me.hWnd)

For x = 1 to 5000
	lstMyListbox.AddItem CStr(x)
Next

	Now all the information is there:

lErr = LockWindowUpdate(0)
Screen.MousePointer = vbDefault
Bruce Goldstein
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date