Login | Register   
RSS Feed
Download our iPhone app
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
	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)

	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.



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