TdxSpreadSheetChangeFontColor Class
An action object that implements the ChangeFontColor end-user command in Spreadsheet and Report Designer-based applications.
Declaration
TdxSpreadSheetChangeFontColor = class(
TdxSpreadSheetValueAction,
IdxActionColorValue
)
Remarks
This class does not introduce any new public members. The command implemented as the TdxSpreadSheetChangeFontColor action object is designed for use in a Ribbon or Toolbar UI by the TdxRibbonColorGalleryItem and TcxColorComboBox item controls.

Executing a TdxSpreadSheetChangeFontColor action object by clicking an item in the linked TdxRibbonColorGalleryItem or TcxColorComboBox UI element changes the font color used to display:
- The values in all selected cells.
- The text selection within an in-place cell editor (only if the rich content formatting functionality is enabled in the Spreadsheet/Report Designer control).

Handle the TdxSpreadSheetChangeFontColor action object’s OnExecute event to provide custom implementation of the ChangeFontColor command’s functionality, which is useful if you need to use it with a custom client control instead of TdxRibbonColorGalleryItem or TcxColorComboBox. Refer to the following code example re-implementing the command’s capability to apply a specific font color to the current cell selection:
procedure TSpreadSheetControlForm.dxSpreadSheetChangeFontColor1Execute(Sender: TObject);
var
ATableView: TdxSpreadSheetTableView;
ACell: TdxSpreadSheetCell;
I, J, K: Integer; // Counters
begin
ATableView := dxSpreadSheet1.ActiveSheetAsTable;
if(ATableView.Selection.Count > 0) then
begin
ATableView.BeginUpdate; // Stops worksheet repainting until the new font color is applied to all affected cells
for I := 0 to ATableView.Selection.Count - 1 do // Cycles through all selected cell ranges
for J := ATableView.Selection.Items[I].Left to ATableView.Selection.Items[I].Right do // Cycles through all columns within one selected cell area
for K := ATableView.Selection.Items[I].Top to ATableView.Selection.Items[I].Bottom do // Cycles through all rows within one selected cell area
begin
ACell := ATableView.CreateCell(K, J); // Obtains every cell object within one selected area
ACell.Style.Font.Color := clBlue; // Here you can specify any color instead of blue
end;
ATableView.EndUpdate; // Enables worksheet repainting to display the pending changes
end;
end;
UI elements linked to a TdxSpreadSheetChangeFontColor action object are enabled only if the following conditions are met:
- Spreadsheet document editing is allowed (i.e., the control’s OptionsBehavior.Editing property is set to
True). - Cell formatting is allowed in the active worksheet (i.e., its OptionsProtection.ActualAllowFormatCells property returns
True). - An in-place cell editor is inactive (the active worksheet‘s IsEditing property returns
False). This condition is applicable only if the dxSpreadSheetTextService.IsRTFSupported function returnsFalse.
If cell selection is disallowed in the protected worksheet (i.e., its OptionsProtection.ActualAllowSelectUnlockedCells property returns False), executing the TdxSpreadSheetChangeFontColor action object has no effect.