How to handle events in custom controls
The original article is in Russian. You can find it here.
This example demonstrates how to use container controls, how to handle events and how to use custom controls in the dialogs.
Source code of this project: File:Cc.zip.
It is a container control. It consists of two objects: CSmileControl and CSliderGroup. Method SizeChanged() calculates size and position of these embedded parts. Depending on the sizes, the embedded parts are displayed from top to bottom or from left to right. This control supports events handling - events are passed to the embedded control CSliderGroup. This control also displays the background of the current theme.
This non-focusing control doesn't supports events handling. It's just displays the smile, considering coefficients of the deformation (iDeltaX, iDeltaY).
It is a container control. It consists of two sliders for defining two values. This control supports events handling. There are two possible result of event: focus changed or value of the slider changed.
This simple control is used for displaying value ( dX or dY ) and for changing this value.