FIX: Switching Tabs of SSTab Control May Cause Desktop to be Repainted
This article was previously published under Q279739
This article has been archived. It is offered "as is" and will no longer be updated.
Switching tabs (setting the Tab property) of an SSTab control inside a loop may cause the Desktop and all of its children to be repainted (that is, all the windows appear to flicker).
This bug has been fixed in Visual Studio (Visual Basic) 6.0 Service Pack 5, which can be downloaded from the following Microsoft Web site at:
Steps to Reproduce Behavior
- Create a Standard EXE project in Visual Basic. Form1 is created by default.
- On the Project menu, click to select Components, and then add Microsoft Tabbed Dialog Control 6.0.
- Add a Timer and an SSTab control to Form1.
- Add the following code in Form1's code pane:
Private Sub Form_Load() With Timer1 .Enabled = True .Interval = 1000 End WithEnd SubPrivate Sub Timer1_Timer() Dim i As Integer For i = 0 To 2 SSTab1.Tab = i 'DoEvents Next iEnd Sub
- Press the F5 key to run the program, and note that the Desktop and its child windows flicker each time the timer event fires.
- Stop the program and uncomment the DoEvents line inside Timer1_Timer.
- Run the program, and note that the Desktop and its child windows no longer flicker.
- Minimize Form1, and note that the Desktop and its child windows flicker again.
: The fix only applies to the scenario when the form is minimized. Therefore, the workaround (using DoEvents) in the preceding example is still needed.
Article ID: 279739 - Last Review: 02/28/2014 00:33:39 - Revision: 1.1
Microsoft Visual Studio 6.0 Enterprise Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 6.0 Enterprise Edition
- kbnosurvey kbarchive kbbug kbfix kbvs600sp5fix kbqfe KB279739