Definir o tipo de letra TRichEdit


Definir o tipo de letra de um componente TRichEdit não é muito difícil. Para permitir que o usuário facilmente selecionar a configuração de fonte, você pode soltar um componente TFontDialog para seu formulário e amarrá-lo para um item de menu ou botão.
Clicando em um botão, o usuário pode abrir esta caixa de diálogo Fonte e selecione as opções de formatação de texto.


Componentes que vamos utilizar

Vamos deixar mais ou menos desta forma para melhor nos entendermos:

Coloquei números para nos entendermos melhor:

O usuário pode então especificar o nome da fonte, estilo e tamanho. Quando a caixa de diálogo é fechada, o nosso programa acessa o TFontDialog Font propriedade para obter os atributos da fonte individuais.
Uma vez que tanto TRichEdit e TFontDialog ter um Font propriedade, sua primeira inclinação pode ser simplesmente fazer a atribuição
if FontDialog1.Execute then
    FontDialog1.Font := RichEdit1.Font;

Você vai usar o SelAttribute propriedade, que tem muitos dos mesmos subproperties como a classe TFont: cores, Altura, Campo, Estilo , e assim por diante. Atribuindo a maioria das propriedades é simples.

Vamos para o código
No botão 1 no evento de OnClick coloque o código abaixo:
procedure TFWord.sbNegritoClick(Sender: TObject);
begin
  reDescricao.SelAttributes.Style := reDescricao.SelAttributes.Style + [fsBold];
end;

No botão 2 no evento de OnClick coloque o código abaixo:
procedure TFWord.sbItalicoClick(Sender: TObject);
begin
  reDescricao.SelAttributes.Style := reDescricao.SelAttributes.Style + [fsItalic];
end;

No botão 3 no evento de OnClick coloque o código abaixo:
procedure TFWord.dbSublinhadoClick(Sender: TObject);
begin
  reDescricao.SelAttributes.Style := reDescricao.SelAttributes.Style + [fsUnderline];
end;

No botão 4 no evento de OnClick coloque o código abaixo:
No botão 4 no evento de OnClick coloque o código abaixo:
procedure TFWord.sbFonteClick(Sender: TObject);
begin
  fdFontes.Font.Size := reDescricao.SelAttributes.Size;
  fdFontes.Font.Color := reDescricao.SelAttributes.Color;
  fdFontes.Font.Charset := reDescricao.SelAttributes.Charset;
  fdFontes.Font.Name := reDescricao.SelAttributes.Name;;
  fdFontes.Font.Pitch := reDescricao.SelAttributes.Pitch;;
  fdFontes.Font.Height := reDescricao.SelAttributes.Height;;
  if fdFontes.Execute then begin
    reDescricao.SelAttributes.Size := fdFontes.Font.Size;
    reDescricao.SelAttributes.Color := fdFontes.Font.Color;
    reDescricao.SelAttributes.Charset := fdFontes.Font.Charset;
    reDescricao.SelAttributes.Name := fdFontes.Font.Name;
    reDescricao.SelAttributes.Height := fdFontes.Font.Height;
    reDescricao.SelAttributes.Pitch := fdFontes.Font.Pitch;
  end;
end;

No botão 5 no evento de OnClick coloque o código abaixo:
procedure TFWord.sbAumentarLetraClick(Sender: TObject);
begin
  reDescricao.SelAttributes.Height := reDescricao.SelAttributes.Height + ifthen(Sender <> sbDiminuirLetra, + 5, - 5);
end;

E no botão 6 coloque o mesmo evento OnClick que no botão 5


Exemplo: Download do exemplo

0 comentários:

Postar um comentário