RAD Studio |  |

Registering Multiple Properties at Once

Register multiple properties at one time and associate them with a property category using the RegisterPropertiesInCategory function. RegisterPropertiesInCategory comes in three overloaded variations, each providing a different set of criteria for identifying the property in the custom component to be associated with property categories.

The first variation lets you identify properties based on property name or type. The list is passed as an array of constants. In the example below, any property that either has the name "Text" or belongs to a class of type TEdit is registered in the category 'Localizable.'

Copy Code

    RegisterPropertiesInCategory('Localizable', ['Text', TEdit]);

Copy Code

    RegisterPropertiesInCategory("Localizable", ARRAYOFCONST("Text", __typeinfo(TEdit)));

The second variation lets you limit the registered properties to those that belong to a specific component. The list of properties to register include only names, not types. For example, the following code registers a number of properties into the 'Help and Hints' category for all components:

Copy Code

    RegisterPropertiesInCategory('Help and Hints', TComponent, ['HelpContext', 'Hint', 'ParentShowHint', 'ShowHint']);

Copy Code

    RegisterPropertyInCategory("Help and Hints", __classid(TComponent), ARRAYOFCONST("HelpContext", "Hint", "ParentShowHint"));

The third variation lets you limit the registered properties to those that have a specific type. As with the second variation, the list of properties to register can include only names:

Copy Code

    RegisterPropertiesInCategory('Localizable', TypeInfo(String), ['Text', 'Caption']);

Copy Code

    RegisterPropertiesInCategory("Localizable", __typeinfo(TStrings), ARRAYOFCONST("Lines", "Commands"));

See the section Specifying property categories for a list of the available property categories and a brief description of their uses.

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!