Pues si tengo un ejemplito hecho... ahí va:
tb son botones de un Toolbar que tienen la propiedad Grouped a True para cambiar la negrita, subrayado, alineado, etc.
Código Delphi
[-]
procedure TFrmReport.tbnegritaClick(Sender: TObject);
begin
if (fsbold in rich.SelAttributes.Style) then
rich.SelAttributes.Style:= rich.SelAttributes.Style - [fsbold]
else
rich.SelAttributes.Style:= rich.SelAttributes.Style + [fsbold];
tbnegrita.Down:=(fsbold in rich.SelAttributes.Style)
end;
procedure TFrmReport.RichSelectionChange(Sender: TObject);
var indicetemp:integer;
begin
case ord(rich.Paragraph.Alignment) of
0: tbleft.down:=true;
1: tbright.Down:=true;
2: tbcenter.down:=true;
else
begin
tbright.Down:=false;
tbcenter.Down:=false;
tbleft.Down:=false;
end;
end;
tbnegrita.Down:=(fsbold in rich.SelAttributes.Style);
tbsubrayado.Down:=(fsUnderline in rich.SelAttributes.Style);
tbcursiva.down:=(fsitalic in rich.SelAttributes.Style);
end;
Saludos