Cool Rolling Clock Control

Overview

This is a Clock control  which is able to roll the digit away as the time elapses,
just like what the oil meter does in the old car.

This is a control derived from the CStatic, it’s inspired by
the code of Mr. Mark Findlay for his "Scrolling credits
dialog
". However,

a
lot was rewritten. I only focus on the rolling part of the code, and didn’t
provide the interface of the color (Bk&Text), although providing 

those
stuff looks like more professional. But that would be easy for you guys 
if you like, as well as the font. 🙂

Using the Rolling Clock Control

  1. Insert the file RollingClk.h
    and RollingClk.cpp into your project
  2. Create a dialog in your project. Drag a static control from the control
    panel; setting it to a reasonable size;
  3. In the dialog’s header file, add the following line
    // I supposed that you add the file to the same path of 
    // the project, or you have to 
    #include "rollingClk.h"
    
    //include the whole path
    ...
    
    CRollingClk m_Static;
    
  4. In the OnInitDialog() of your Dialog class, add the following code
    // the "IDC_STATIC1" is the ID of your static control
    m_Static.SubclassDigItem(IDC_STATIC1,this);
    
    // you can also set the first two parameters as 
    // text & Bk Color,
    m_Static.Start();
    
    // and the third as the slipping speed, or nothing--it 
    // will choose the default values.
    And In the OnPaint() of Parent Dialog, you should add:
    else
    {
    ...
    // add here	
    m_Static.SetFirstTime(TRUE);
    CDialog::OnPaint();
    

So that when the Dialog thrives from minimum, the static will redraw. That’s it!

Downloads

Download source – 4 Kb
Download demo project – 19 Kb

More by Author

Must Read