Virtual Developer Workshop: Containerized Development with Docker


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
    // you can also set the first two parameters as 
    // text & Bk Color,
    // 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:
    // add here	
So that when the Dialog thrives from minimum, the static will redraw. That's it!


Download source - 4 Kb
Download demo project - 19 Kb


  • Minimized dialog box problem

    Posted by treeam on 11/15/2005 06:14pm

    When I minimize the dialog box that I have the clock on and then restore the dialog box to its original size the clock display gets all messed up. I verified the same behavior with the example/demo code provided. Does anyone know how I can fix the problem?

  • How do i do it in vb

    Posted by Legacy on 02/05/2003 08:00am

    Originally posted by: Cory

    how do i make this program or one like it in Visual Basic

  • Clock rolls stangely...

    Posted by Legacy on 05/12/2002 07:00am

    Originally posted by: J

    Clock rolls stangely...
    The numbers change not depens on their position

  • I want too

    Posted by Legacy on 05/12/2001 07:00am

    Originally posted by: david


  • i have seen a lot better in none-visual compilers

    Posted by Legacy on 03/27/2001 08:00am

    Originally posted by: mario flores

    i think that you can make some changes thats all...but anyway its good...keep the good working

  • Another approach

    Posted by Legacy on 03/21/2001 08:00am

    Originally posted by: Jim Musson

    I have modified the paint code with what I think is a simpler algorithm. Download http://www.musson.org/coolclock.zip for the source code.

    This is a great way to display the time, I really like it!

  • It could be better

    Posted by Legacy on 03/16/2001 08:00am

    Originally posted by: Ionutz

    Your OnPaint() function is 250 lines long. Brake it. What's with all the if,else mumbo-jumbo. I cannot read this kind of code.

  • Problem in Starting Clock

    Posted by Legacy on 03/15/2001 08:00am

    Originally posted by: Hamid Yaseen

    Dear Friend
    When I am checking your suppied example on Win98. The function start
    is called from the fuction
    gives assertion failed.
    When I debugged the code of function start.It gives assertion at GetClientRect function.
    As line from your code is as
    it gives assertion failed.
    Try to use any alternative GetClientRect or give any solid reason. If it works well the response me at my mail.
    best regard
    Hamid Yaseen

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date