In addition to user controls, Visual Designer also supports inherited controls. Where a user control is a grouping of existing controls, an inherited control is a class that is an extension of an existing control class. Inherited controls are useful if, for example, you want a control with specific properties and behavior that you can use in multiple forms.
To create an inherited control:
1. From the main menu bar, choose File > New > ABL Inherited Control.
2. Enter a value in the Inhertited Control name field.
3. In the Inherits field, enter the full class path (beginning with System.Windows.Forms.) of the control class on which the new inherited control is to be based.
The remaining fields are optional, with the exception of Package root (required).
4. After setting appropriate values in the Properties view, click OK. Progress Developer Studio for OpenEdge creates a new class file with the same name that you assigned to the control.
A design window appears, but it is not a visual environment like the Design Canvas. You can drag and drop controls on the window, and you can use the Properties view to set properties and subscribe to events. However, it is not possible to display a visualization of the control. You must drop inherited controls on a form in order to see them.
HelpButton.cls is an inherited control and is one of the pre-existing resources of the SampleApp project. It inherits from the System.Windows.Form.Button class. No other controls were dropped on its design window. The font and size properties were changed to make it a square button that accepts a large, bold question mark as a text label. It has a callback to the parent form, which is expected to implement an interface that invokes a help volume. In the sample application, the help button opens the master OpenEdge help system when clicked at runtime.
Like user controls, inherited controls must be added to the Toolbox to make them available for use.