vcl-cxbuttons-5b3e8c50.md
Stores image-related button settings.
TcxButtonImageOptions = class(
TcxButtonCustomPersistent
)
A TcxButton component can display a glyph in addition to (or instead of) a caption if the component’s PaintStyle property is set to bpsDefault or bpsGlyph.
The list below outlines key members of the TcxButtonImageOptions class. These members allow you to display a glyph within a TcxButton component and configure all image and content layout-related settings.
Specifies a glyph for the button. Alternatively, you can use Images and ImageIndex properties to display a glyph within the button.
Note
The Glyph property has priority over Images and ImageIndex properties.
ImageIndexAllows you to display an image within the Images list (as the button glyph).ImagesSpecifies an image source for the button glyph.NumGlyphsSpecifies the number of glyphs stored within an image loaded using the Glyph property. You can use this property to define different glyphs for the following button states: Normal , Disabled , Clicked , and Down/Pressed.SVGOptionsProvides access to SVG image-related options that affect an image list assigned to the Images property.
LayoutAllows you to switch between four predefined button glyph and caption arrangement options.MarginSpecifies the distance between the displayed glyph and the nearest button border.SpacingSpecifies the distance between the displayed glyph and the button caption.
Assign | AssignToAllow you to copy image-related settings between TcxButton components.
The following code example creates five buttons with different-sized SVG glyphs using a single image list as a glyph source:
uses
cxButtons, // Declares the TcxButton class and related types
cxGraphics; // Declares the TcxImageList class and related types
// ...
procedure TMyForm.FormCreate(Sender: TObject);
var
AButton: TcxButton;
ALargeGlyphSettings: TcxButtonImageOptions;
begin
AButton := TcxButton.Create(Self); // Creates the large "Apply" button
AButton.Parent := Self; // Associates the created button with the form
AButton.Caption := 'Apply';
AButton.Font.Size := 20;
// Position the button
AButton.Top := 40;
AButton.Left := 40;
AButton.Height := 60;
AButton.Width := 140;
// Assign a glyph and configure related settings
ALargeGlyphSettings := AButton.OptionsImage;
ALargeGlyphSettings.Images := cxImageList1;
ALargeGlyphSettings.ImageIndex := 0;
ALargeGlyphSettings.SVGOptions.UseRegularAsLarge := True;
ALargeGlyphSettings.SVGOptions.LargeSize.Width := 48;
ALargeGlyphSettings.SVGOptions.LargeSize.Height := 48;
AButton := TcxButton.Create(Self); // Creates the large "Cancel" button
AButton.Parent := Self; // Associates the created button with the form
// Position the button
AButton.Top := 40;
AButton.Left := 200;
AButton.Height := 60;
AButton.Width := 60;
AButton.PaintStyle := bpsGlyph;
// Assign a glyph and configure related settings
AButton.OptionsImage.Assign(ALargeGlyphSettings); // Copies common settings from the "Apply" button
AButton.OptionsImage.ImageIndex := 1; // Assigns a different glyph from the source image list
AButton := TcxButton.Create(Self); // Creates the small "Refresh" button
AButton.Parent := Self; // Associates the created button with the form
AButton.Caption := 'Refresh';
AButton.Left := 40; // Positions the button
AButton.OptionsImage.Images := cxImageList1;
AButton.OptionsImage.ImageIndex := 2;
AButton := TcxButton.Create(Self); // Creates the small "Add" button
AButton.Parent := Self; // Associates the created button with the form
AButton.Caption := 'Add';
AButton.Left := 115; // Positions the button
AButton.OptionsImage.Images := cxImageList1;
AButton.OptionsImage.ImageIndex := 3;
AButton := TcxButton.Create(Self); // Creates the small "Remove" button
AButton.Parent := Self; // Associates the created button with the form
AButton.Caption := 'Remove';
AButton.Left := 190; // Positions the button
AButton.OptionsImage.Images := cxImageList1;
AButton.OptionsImage.ImageIndex := 4;
end;
#include "cxButtons.hpp" // Declares the TcxButton class and related types
#include "cxGraphics.hpp" // Declares the TcxImageList class and related types
// Add the following linker directives to the corresponding CPP source file:
#pragma link "cxButtons" // Required to use cxButtons.hpp declarations
#pragma link "cxGraphics" // Required to use cxGraphics.hpp declarations
// ...
void __fastcall TMyForm::FormCreate(TObject *Sender)
{
TcxButton *AButton;
TcxButtonImageOptions *ALargeGlyphSettings;
AButton = new TcxButton(this); // Creates the large "Apply" button
AButton->Parent = this; // Associates the created button with the form
AButton->Caption = "Apply";
AButton->Font->Size = 20;
// Resize and position the button
AButton->Top = 40;
AButton->Left = 40;
AButton->Height = 60;
AButton->Width = 140;
// Assign a glyph and configure related settings
ALargeGlyphSettings = AButton->OptionsImage;
ALargeGlyphSettings->Images = cxImageList1;
ALargeGlyphSettings->ImageIndex = 0;
ALargeGlyphSettings->SVGOptions->UseRegularAsLarge = true;
ALargeGlyphSettings->SVGOptions->LargeSize->Width = 48;
ALargeGlyphSettings->SVGOptions->LargeSize->Height = 48;
AButton = new TcxButton(this); // Creates the large "Cancel" button
AButton->Parent = this; // Associates the created button with the form
// Resize and position the button
AButton->Top = 40;
AButton->Left = 200;
AButton->Height = 60;
AButton->Width = 60;
AButton->PaintStyle = bpsGlyph;
// Assign a glyph and configure related settings
AButton->OptionsImage->Assign(ALargeGlyphSettings); // Copies common settings from the "Apply" button
AButton->OptionsImage->ImageIndex = 1; // Assigns a different glyph within the source image list
AButton = new TcxButton(this); // Creates the small "Refresh" button
AButton->Parent = this; // Associates the created button with the form
AButton->Caption = "Refresh";
AButton->Left = 40; // Positions the button
AButton->OptionsImage->Images = cxImageList1;
AButton->OptionsImage->ImageIndex = 2;
AButton = new TcxButton(this); // Creates the small "Add" button
AButton->Parent = this; // Associates the created button with the form
AButton->Caption = "Add";
AButton->Left = 115; // Positions the button
AButton->OptionsImage->Images = cxImageList1;
AButton->OptionsImage->ImageIndex = 3;
AButton = new TcxButton(this); // Creates the small "Remove" button
AButton->Parent = this; // Associates the created button with the form
AButton->Caption = "Remove";
AButton->Left = 190; // Positions the button
AButton->OptionsImage->Images = cxImageList1;
AButton->OptionsImage->ImageIndex = 4;
}
The TcxCustomButton.OptionsImage property references a TcxButtonImageOptions object.
TObject TPersistent TcxButtonCustomPersistent TcxButtonImageOptions
See Also