Radial Control

Environment: Win9x, VC6 SP4

I need a software control to simulate and replace a hardware dial control. So I came up with this control. This radial control is derived from CStatic and can be created using the ClassWizard or you can do your own subclassing.

Most of the commands are similar to CSliderCtrl, I may in the future derived this class from CSliderCtrl and send all slider control messages. Currently this control only sends the WM_HSCROLL message when being modified via mouse or keyboard. The reason that the control sends a message is so that the parent has a chance to act on that message.

There is a difference between the current positon and the current angle. The angle is the current position in degrees of the arrow. The current position is the current angle translated into the range that the user has set. For example the current angle could be 0 degrees, but since the user had set the min/max range to be 100/200 respectively, the current position is 100.

The control also reponses to the ON_WM_SYSCOLORCHANGE message so that if the user has changed the colors of the system the control will automatically updates itself.

Downloads

Download demo project and source code - 20 Kb


Comments

  • using the control

    Posted by Legacy on 04/18/2002 12:00am

    Originally posted by: Dug

    Hi there,
    These are really useful dial controls, however one point, probably an easy one.

    I have placed the controls in etc that is fine. Now I want to catch the move message of the contol and do something with the value that it is set. I noticed that there is only a button clicked message handler available for use in the class wizard, do I need to code my own?

    Cheers

    dug

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

Top White Papers and Webcasts

  • Learn How A Global Entertainment Company Saw a 448% ROI Every business today uses software to manage systems, deliver products, and empower employees to do their jobs. But software inevitably breaks, and when it does, businesses lose money -- in the form of dissatisfied customers, missed SLAs or lost productivity. PagerDuty, an operations performance platform, solves this problem by helping operations engineers and developers more effectively manage and resolve incidents across a company's global operations. …

  • Today's agile organizations pose operations teams with a tremendous challenge: to deploy new releases to production immediately after development and testing is completed. To ensure that applications are deployed successfully, an automatic and transparent process is required. We refer to this process as Zero Touch Deployment™. This white paper reviews two approaches to Zero Touch Deployment--a script-based solution and a release automation platform. The article discusses how each can solve the key …

Most Popular Programming Stories

More for Developers

RSS Feeds