Skip to main content

TcxCustomEditButton.Kind Property

Specifies the button content type.

Declaration

property Kind: TcxEditButtonKind read; write; default bkDown;

Property Value

Type Default Description
TcxEditButtonKind bkDown

The editor button content type.

Remarks

An editor button can display a glyph, ellipsis, or text. You can use the Kind property to switch between supported content types.

Editor buttons can display a hint regardless of the selected content type.

Property Value Examples

The following table demonstrates the difference between all button content types under the same conditions:

Value Description Example[1]
bkDown (default) The editor button displays the predefined Down glyph (the drop-down button glyph like in a combo box editor). VCL Editors Library: The Predefined Down Glyph
bkEllipsis The editor button displays an ellipsis. VCL Editors Library: An Ellipsis in an Editor Button
bkGlyph The editor button displays a custom glyph defined in the ImageIndex or Glyph property. The Glyph property has higher priority and the Caption property value is ignored. VCL Editors Library: An Editor Button Displays a Custom Glyph
bkText The editor button displays custom text assigned to the Caption property. ImageIndex and Glyph properties have no effect. VCL Editors Library: An Editor Button Displays Custom Text

Code Example

The code example below demonstrates OnButtonClick and OnCreate event handlers.

The application form’s OnCreate event handler creates two additional embedded buttons in a TcxButtonEdit control and configures the appearance and behavior of all embedded buttons. The OnButtonClick event handler associates all created buttons with the editor’s functionality.

Note

This example uses a TcxImageList component with three SVG icons as a source of glyphs for the created buttons.

procedure TMyForm.cxButtonEdit1PropertiesButtonClick(Sender: TObject;
  AButtonIndex: Integer);
var
  AEditor: TcxButtonEdit;
begin
  AEditor := Sender as TcxButtonEdit;
  if AButtonIndex = 0 then  // The first button clears the editor
    AEditor.Clear
  else if AButtonIndex = 1 then  // The second button selects content
    AEditor.SelectAll
  else if AButtonIndex = 2 then  // The third button hides or reveals content
  begin
    if AEditor.Properties.EchoMode = eemNormal then
      AEditor.Properties.EchoMode := eemPassword
    else
      AEditor.Properties.EchoMode := eemNormal;
  end;
end;

procedure TMyForm.FormCreate(Sender: TObject);
var
  AProperties: TcxButtonEditProperties;
  I: Integer;
begin
  cxButtonEdit1.ShowHint := True;  // Enables hints for the editor
  AProperties := cxButtonEdit1.Properties;
  AProperties.BeginUpdate;  // Initiates the following batch change
  try
    AProperties.Images := cxImageList1;  // Assigns the source of button glyphs
    // Create two additional buttons
    AProperties.Buttons.Add;
    AProperties.Buttons.Add;
    // Specify common button settings
    for I := 0 to AProperties.Buttons.Count - 1 do
    begin
      AProperties.Buttons.Items[I].Kind := bkGlyph;  // Changes the button content type to "glyph"
      AProperties.Buttons.Items[I].ImageIndex := I;  // Specifies image indexes in the source list
      AProperties.Buttons.Items[I].HotTrackMode := TcxEditButtonHotTrackMode.Editor;
    end;
    // Specify unique button settings
    AProperties.Buttons.Items[0].Hint := 'Clear';
    AProperties.Buttons.Items[1].Hint := 'Select All';
    AProperties.Buttons.Items[2].Hint := 'Hide/Reveal';
    AProperties.Buttons.Items[2].LeftAlignment := True;
    AProperties.Buttons.Items[2].Transparent := True;
  finally
    AProperties.EndUpdate;  // Calls EndUpdate regardless of the batch operation's success
  end;
end;

VCL Editors Library: An Editor with Three Custom Buttons

Default Value

The Enabled property’s default value is bkDown.

Note

Certain editors use a different default content type for predefined buttons.

Footnotes
  1. These examples demonstrate all possible Kind property values for the same button editor with one embedded button under the following conditions:

See Also