SAMPLE: Updating the Screen Without Flicker

Last reviewed: February 15, 1996
Article ID: Q103214
The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) for Windows version 3.1

Flicker-Free Displays Using an Off-Screen DC

Herman Rodent Microsoft Developer Network Technology Group

Created: April 5, 1993

Abstract

This article describes a technique for drawing to a window device context (DC) in such a way that the screen does not flicker. The technique is very simple and easy to implement.

Many applications written for the Microsoft Windows operating system maintain status information such as the current time in a small control window that flickers very annoyingly each time it's updated. All standard Windows controls flicker if updated at frequent intervals. The solution to this problem is to implement a simple control and use an off-screen device context (DC) to construct the image, which is then copied in total to the client area of the control window. The net result is a control that can be updated without causing any flicker.

FLICKER has window procedures for two controls--one of these flickers; the other one doesn't. The application creates an instance of each of these controls and updates the window text ten times every second to show how one flickers and the other doesn't. Both controls support the system text color, window background color, and the WM_SETTEXT and WM_SETFONT messages.

Download FLICKER.EXE, a self-extracting file, from the Microsoft Software Library (MSL) on the following services:

  • Microsoft Download Service (MSDL)

          Dial (206) 936-6735 to connect to MSDL
          Download FLICKER.EXE (size: 32390 bytes) 
    
  • Internet (anonymous FTP)

          ftp ftp.microsoft.com
          Change to the \SOFTLIB\MSLFILES directory
          Get FLICKER.EXE (size: 32390 bytes) 
    


Additional reference words: 3.10 softlib FLICKER.EXE
KBCategory: kbprg kbfile
KBSubcategory: GdiDrw


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 15, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.