Handling User Input
Mouse and keyboard user input is accepted from Windows event notification in RadControl, but actually handled in RadElement and RadItem objects.
RadControl is the object that is first notified of Windows events, i.e. mouse over, key press, etc., and calls corresponding methods of RadElement through the RadControl RadRootElement property.
RadElement introduces methods for dispatching user input information. This information is acted on if the RadElement ShouldHandleMouseInput property is true. By default, ShouldHandleMouseInput is set false and must be turned on explicitly. The NotifyParentOnMouseInput property is introduced in RadElement to control the bubbling of mouse events to parent elements. By default NotifyParentOnMouseInput is false.
RadItem.ShouldHandleMouseInput is true by default. RadItem also introduces keyboard methods and events including KeyDown, KeyPress and KeyUp events.
The diagram below shows the inheritance tree where the RootRadElement descends from RadItem, and where RadItem ultimately descends from RadElement: