TdxSpreadSheetChangeFontName Class
An action object that implements the ChangeFontName end-user command in Spreadsheet and Report Designer-based applications.
Declaration
TdxSpreadSheetChangeFontName = class(
TdxSpreadSheetValueAction,
IdxActionFontNameValue
)
Remarks
This class does not introduce any new public members. The command implemented as a TdxSpreadSheetChangeFontName
action object is designed for use in a Ribbon or Toolbar UI by a TcxFontNameComboBox item control.
Executing a TdxSpreadSheetChangeFontName
action object by clicking an item in the linked TcxFontNameComboBox UI element changes the font typeface 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 TdxSpreadSheetChangeFontName
action object’s OnExecute event to provide custom implementation of the ChangeFontName command’s functionality, which is useful if you need to use it with a custom client control instead of TcxFontNameComboBox. Refer to the following code example re-implementing the command’s capability to apply a specific font typeface to the current cell selection:
procedure TSpreadSheetControlForm.dxSpreadSheetChangeFontName1Execute(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 typeface 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.Name := 'Times New Roman'; // Here you can specify any font typeface instead of Times New Roman
end;
ATableView.EndUpdate; // Enables worksheet repainting to display the pending changes
end;
end;
UI elements linked to a TdxSpreadSheetChangeFontName
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 (that is, its OptionsProtection.ActualAllowSelectUnlockedCells property returns False
), executing the TdxSpreadSheetChangeFontName
action object has no effect.