Modifier la couleur de fond du texte sélectionné dans un richedit

Contenu du snippet

Modifier la couleur de fond du texte sélectionné dans un RichEdit

Source / Exemple :


uses RichEdit;

// Met la couleur clYellow sur le fond du texte sélectionné

RE_SetSelBgColor(MyRichEdit, clYellow);

// Résupère la couleur clYellow sur le fond du texte sélectionné

myColor := RE_GetSelBgColor(MyRichEdit, clYellow);

procedure TFrmChild.RE_SetSelBgColor(RichEdit: TRichEdit; AColor: TColor);
var
  Format: CHARFORMAT2;
begin
  FillChar(Format, SizeOf(Format), 0);
  with Format do
  begin
    cbSize := SizeOf(Format);
    dwMask := CFM_BACKCOLOR;
    crBackColor := AColor;
    Richedit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
  end;
end;

function TFrmChild.RE_GetSelBgColor(RichEdit: TRichEdit): TColor;
var
  Format: CHARFORMAT2;
begin
  FillChar(Format, SizeOf(Format), 0);
  with Format do
  begin
    cbSize := SizeOf(Format);
    dwMask := CFM_BACKCOLOR;
    Richedit.Perform(EM_GETCHARFORMAT, SCF_SELECTION, Longint(@Format));
    result := Format.crBackColor;
  end;
end;

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.