Skip to main content

TcxEditRepositoryButtonItem Class

A repository item that stores button editor settings.

Declaration

TcxEditRepositoryButtonItem = class(
    TcxEditRepositoryItem
)

Remarks

A button editor is a single-line text editor that can display buttons within its client area.

VCL Editors Library: A Button Editor Example

The TcxEditRepositoryButtonItem class overrides the Properties property that allows you to access and customize button editor settings.

Edit Repository Items and Standalone Editors

Edit repository items are useful when you need to share the same settings between multiple editors of the same type. To accomplish this goal, you can assign the same edit repository item to RepositoryItem properties of all target editors.

Edit Repository Items and Container Controls

A container control item (such as a toolbar edit item or a column (or any other data item) in a Data Grid, Vertical Grid, or Tree List control) can embed an in-place editor shipped with the ExpressEditors Library. An in-place editor exists (and, therefore, has its own WinAPI handle) only when the target container control item is being edited. Otherwise, the container control item displays a static editor image for resource usage optimization.

VCL Tree List: An In-Place Date Editor

Create a Button Editor Repository Item at Design Time

To create a button editor repository item at design time, double-click an edit repository component to invoke its collection editor.

VCL Editors Library: An Edit Repository Collection Editor

The collection editor allows you to manage repository items. Click the Add… button to invoke a repository item creation dialog.

VCL Editors Library: An Edit Repository Item Creation Dialog

Select the ButtonEdit item and click the Ok button to create a button editor repository item.

Create a Button Editor Repository Item in Code

The following code example creates a button editor repository item, defines two custom buttons, and assigns the created repository item to two existing unbound button editors:

uses cxEdit, cxEditRepositoryItems;
// ...
var
  AButtonRepositoryItem: TcxEditRepositoryButtonItem;
  ARepositoryItem: TcxEditRepositoryItem;
  AButton: TcxEditButton;
begin
  ARepositoryItem := cxEditRepository1.CreateItem(TcxEditRepositoryButtonItem);
  AButtonRepositoryItem := ARepositoryItem as TcxEditRepositoryButtonItem;
  AButton := AButtonRepositoryItem.Properties.Buttons.Add;  // Creates a button
  AButton.Caption := 'List';  // Defines a button caption
  AButton.Kind := bkText;  // Displays the defined button in the created button
  AButton := AButtonRepositoryItem.Properties.Buttons.Add;  // Creates another button
  AButton.Kind := bkEllipsis; // Displays an ellipsis in the created button
  // Assigns the created repository item to two existing unbound button editors
  cxButtonEdit1.RepositoryItem := AButtonRepositoryItem;
  cxButtonEdit2.RepositoryItem := AButtonRepositoryItem;
end;

Button Editor Repository Item Deletion

To delete all button editor repository items in a TcxEditRepository component, call its RemoveItems procedure and pass a reference to the TcxEditRepositoryButtonItem class as a parameter.

If you need to delete an individual button editor repository item, release it directly in code (call the Free procedure in Delphi or use the delete keyword in C++Builder).

Inheritance

See Also