Avoid the Flickering

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 LongDim x as Integer'No list box flicker, it will appear blank for 'just a moment...Screen.MousePointer = vbHourglasslErr = 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


Share the Post: