vcl-dxspreadsheetcorestyles-dot-tdxspreadsheetcustombrush.md
Specifies the base cell fill color.
property BackgroundColor: TColor read; write;
| Type | Description |
|---|---|
| TColor |
The base cell fill color.
|
Use the BackgroundColor property to specify the base cell fill color. The ForegroundColor property specifies the color of the fill pattern assigned to the Style property.
You can create the ChangeFillColor user command (action object) and link it to a UI element in your application. The automatic Ribbon/Toolbar UI generator creates this command and associates it with the corresponding Ribbon or toolbar item.
The following code example performs two batch operations at control and worksheet levels to change the default (document-wide) cell style, populate cells in the active worksheet, and apply a different style to the populated cells:
var
ATableView: TdxSpreadSheetTableView;
ACell: TdxSpreadSheetCell;
I, J: Integer;
begin
ATableView := dxSpreadSheet1.ActiveSheetAsTable; // Accesses the active worksheet
// Change the spreadsheet document-wide cell style (the first batch operation)
dxSpreadSheet1.BeginUpdate; // Initiates the following batch change at the control level
try
dxSpreadSheet1.DefaultCellStyle.Brush.BackgroundColor := clWebLightBlue;
dxSpreadSheet1.DefaultCellStyle.Brush.ForegroundColor := clWebLightGreen;
dxSpreadSheet1.DefaultCellStyle.Brush.Style := sscfsDiagonalStrip;
dxSpreadSheet1.DefaultCellStyle.Borders[bRight].Color := clLtGray;
dxSpreadSheet1.DefaultCellStyle.Borders[bRight].Style := sscbsThin;
dxSpreadSheet1.DefaultCellStyle.Borders[bBottom].Color := clLtGray;
dxSpreadSheet1.DefaultCellStyle.Borders[bBottom].Style := sscbsThin;
finally
dxSpreadSheet1.EndUpdate; // Calls EndUpdate regardless of the batch operation's success
end;
// Create and populate 75 cells with random integer values (the second batch operation)
Randomize; // Initializes the random number generator
ATableView.BeginUpdate; // Initiates the following batch change at the worksheet level
try
for I := 0 to 14 do // Iterates through 15 rows
for J := 0 to 4 do // Iterates through 5 columns
begin
ACell := ATableView.CreateCell(I, J); // Creates a cell object
ACell.AsInteger := Random(1000); // Populates the created cell object with a random integer value
// Customize cell style settings
ACell.Style.Borders[bLeft].Color := clWhite;
ACell.Style.Borders[bLeft].Style := sscbsDotted;
ACell.Style.Borders[bBottom].Color := clWhite;
ACell.Style.Borders[bBottom].Style := sscbsDotted;
ACell.Style.Font.Style := [fsBold, fsItalic];
ACell.Style.Font.Color := clWhite;
ACell.Style.Brush.Style := sscfsRevDiagonalStrip;
ACell.Style.Brush.BackgroundColor := clLime;
ACell.Style.Brush.ForegroundColor := clGreen;
end;
finally
ATableView.EndUpdate; // Calls EndUpdate regardless of the batch operation's success
end;
end;
TdxSpreadSheetTableView *ATableView;
TdxSpreadSheetCell *ACell;
// ...
ATableView = dxSpreadSheet1->ActiveSheetAsTable; // Accesses the active worksheet
// Change the spreadsheet document-wise cell style (the first batch operation)
dxSpreadSheet1->BeginUpdate(); // Initiates the following batch change at the control level
try
{
dxSpreadSheet1->DefaultCellStyle->Brush->BackgroundColor = clWebLightBlue;
dxSpreadSheet1->DefaultCellStyle->Brush->ForegroundColor = clWebLightGreen;
dxSpreadSheet1->DefaultCellStyle->Brush->Style = sscfsDiagonalStrip;
dxSpreadSheet1->DefaultCellStyle->Borders[bRight]->Color = clLtGray;
dxSpreadSheet1->DefaultCellStyle->Borders[bRight]->Style = sscbsThin;
dxSpreadSheet1->DefaultCellStyle->Borders[bBottom]->Color = clLtGray;
dxSpreadSheet1->DefaultCellStyle->Borders[bBottom]->Style = sscbsThin;
}
__finally
{
dxSpreadSheet1->EndUpdate(); // Calls EndUpdate regardless of the batch operation's success
}
// Create and populate 75 cells with random integer values (the second batch operation)
Randomize(); // Initializes the random number generator
ATableView->BeginUpdate();
try
{
for(int i = 0; i < 15; i++) // Iterates through 15 rows
for(int j = 0; j < 5; j++) // Iterates through 5 columns
{
ACell = ATableView->CreateCell(i, j); // Creates a cell object
ACell->AsInteger = Random(1000); // Populates the created cell object with a random integer value
// Customize cell style settings
ACell->Style->Borders[bLeft]->Color = clWhite;
ACell->Style->Borders[bLeft]->Style = sscbsDotted;
ACell->Style->Borders[bBottom]->Color = clWhite;
ACell->Style->Borders[bBottom]->Style = sscbsDotted;
ACell->Style->Font->Style = TFontStyles() << fsBold << fsItalic;
ACell->Style->Font->Color = clWhite;
ACell->Style->Brush->Style = sscfsRevDiagonalStrip;
ACell->Style->Brush->BackgroundColor = clLime;
ACell->Style->Brush->ForegroundColor = clGreen;
}
}
__finally
{
ATableView->EndUpdate(); // Calls EndUpdate regardless of the batch operation's success
}
The BackgroundColor property’s default value is clDefault.
See Also
TdxSpreadSheetCustomBrush Class