| Object Controls |
|
| Prior Next | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Both Object Enhanced and Defined Controls have the property ‘ObjectID which is set to the object that will handle the requests to the control. It is a value in this property that distinguishes an Object Control from a regular control.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Property references |
Whenever an Object Control’s property is referenced, the system will first check its associated object to see if it has that property. If so, the system will use the property from the object instead of property in the control. This allows the object to intercept all property accesses external of the application program.
In the case of an Object Defined Control (ODC) all properties for the control must exist within the object as there is not related system control.
In the case of an OEC, should the object itself make references to the properties of the control, the reference will be sent directly to the control, not the object itself. This means that should an OEC want to return a modified 'Value$ property for a control, internally it could read the controls 'Value$ property then pass back the modified version.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Directive Mapping |
Whenever the application issues a standard graphical control directive against an Object Control, the system will attempt to map the directive to a method within the object. For example, when the directive LIST_BOX DISABLE is issued against an object control the system will first attempt to execute a 'Disable() method in the Object should it exist. For Enhanced controls, if the method does not exist the system will apply the directive to the actual control as it would normally. For Defined controls, the method must exist otherwise the directive will fail.
The full list of the directive mappings is as follows:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Prior Next | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||