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.