Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

TcxCustomEditButton.Kind Property

Specifies the button content type.

#Declaration

Delphi
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: Create Editor Buttons with Custom Functionality

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;

#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