vcl-dxspreadsheetactions-fcbe4908.md
An action object that implements the ChangeFontName end-user command in Spreadsheet and Report Designer-based applications.
TdxSpreadSheetChangeFontName = class(
TdxSpreadSheetValueAction,
IdxActionFontNameValue
)
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:
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;
void __fastcall TSpreadSheetControlForm::dxSpreadSheetChangeFontName1Execute(TObject *Sender)
{
TdxSpreadSheetTableView *ATableView;
TdxSpreadSheetCell *ACell;
ATableView = dxSpreadSheet1->ActiveSheetAsTable;
if(ATableView->Selection->Count > 0)
{
ATableView->BeginUpdate(); // Stops worksheet repainting until the new font typeface is applied to all affected cells
for(int I = 0; I < ATableView->Selection->Count; I++) // Cycles through all selected cell ranges
for(int J = ATableView->Selection->Items[I]->Left; J <= ATableView->Selection->Items[I]->Right; J++) // Cycles through all columns within one selected cell area
for(int K = ATableView->Selection->Items[I]->Top; K <= ATableView->Selection->Items[I]->Bottom; K++) // Cycles through all rows within one selected cell area
{
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
}
}
ATableView->EndUpdate(); // Enables worksheet repainting to display the pending changes
}
UI elements linked to a TdxSpreadSheetChangeFontName action object are enabled only if the following conditions are met:
True).True).False). This condition is applicable only if the dxSpreadSheetTextService.IsRTFSupported function returns False.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.
Show 15 items
TObject TPersistent TComponent TBasicAction TContainedAction TCustomAction TAction TdxBasicAction TdxCustomAction TdxSpreadSheetAction TdxSpreadSheetCustomEditAction TdxSpreadSheetCustomEditCellsAction TdxSpreadSheetCustomFormatCellsAction TdxSpreadSheetValueAction TdxSpreadSheetChangeFontName
See Also
TdxSpreadSheetToggleFontUnderline Class
TdxSpreadSheetChangeFillColor Class
TdxSpreadSheetChangeFontColor Class
TdxSpreadSheetChangeFontSize Class
TdxSpreadSheetToggleFontBold Class
TdxSpreadSheetToggleFontItalic Class
TdxSpreadSheetToggleFontStrikeout Class