vcl-dxrichedit-dot-nativeapi-dot-idxricheditsubdocument-dot-beginupdatecharacters-x28-dxrichedit-dot-nativeapi-dot-idxricheditdocumentrange-x29.md
Starts to update character properties of the specified document range.
function BeginUpdateCharacters(const ARange: IdxRichEditDocumentRange): IdxRichEditCharacterProperties; overload;
| Name | Type | Description |
|---|---|---|
| ARange | IdxRichEditDocumentRange |
The target document range.
|
| Type | Description |
|---|---|
| IdxRichEditCharacterProperties |
The target document range’s character properties.
|
BeginUpdateCharacters and EndUpdateCharacters are the key methods in the text editing API. A BeginUpdateCharacters method call obtains character properties of the target document range. The EndUpdateCharacters procedure accepts these character settings and applies the changes made between BeginUpdateCharacters and EndUpdateCharacters calls.
The following code example applies the Bold font attribute to all selected document ranges and changes their font and background colors:
var
ADocument: IdxRichEditDocument;
ACharacterProperties: IdxRichEditCharacterProperties;
I: Integer;
begin
ADocument := dxRichEditControl1.Document;
ADocument.BeginUpdate; // Locks the document updates and starts recording an edit user action
for I := 0 to ADocument.Selections.Count - 1 do // Iterates through all selected document ranges
begin
// Obtains character properties of the current selected document range
ACharacterProperties := ADocument.BeginUpdateCharacters(ADocument.Selections.Self[I]);
ACharacterProperties.BackColor := TdxAlphaColors.Blue;
ACharacterProperties.ForeColor := TdxAlphaColors.White;
ACharacterProperties.Bold := True;
ADocument.EndUpdateCharacters(ACharacterProperties); // Applies the changes to the range
end;
ADocument.EndUpdate; // Applies all pending changes to the document and unlocks document updates
end;
_di_IdxRichEditDocument ADocument;
_di_IdxRichEditCharacterProperties ACharacterProperties;
// ...
ADocument = dxRichEditControl1->Document;
ADocument->BeginUpdate(); // Locks the document updates and starts recording an edit user action
for(int i = 0; i < ADocument->Selections->Count; i++) // Iterates through all selected document ranges
{
// Obtains character properties of the current selected document range
ACharacterProperties = ADocument->BeginUpdateCharacters(ADocument->Selections->Self[I]);
ACharacterProperties->BackColor = TdxAlphaColors::Blue;
ACharacterProperties->ForeColor = TdxAlphaColors::White;
ACharacterProperties->Bold = true;
ADocument->EndUpdateCharacters(ACharacterProperties); // Applies the changes
}
ADocument->EndUpdate(); // Applies all pending changes to the document and unlocks document updates
Note
Add the dxCoreGraphics unit to your project’s uses clause to be able to use the TdxAlphaColors type.
See Also
BeginUpdateCharacters(IdxRichEditDocumentPosition,Integer)
BeginUpdateCharacters(Integer,Integer)
IdxRichEditSubDocument Interface