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