Как менять шрифт в RichEdit горячими клавишами?

Следующий пример показывает, как можно изменять шрифт в компоненте TRichEdit при помощи следующих комбинаций клавиш:
Ctrl + B - Включает и выключает жирность (Bold) шрифта
Ctrl + I - Включает и выключает (Italic) шрифта
Ctrl + S - Включает и выключает зачёркивание (Strikeout) шрифта
Ctrl + U - Включает и выключает подчёркивание (Underline) шрифта
Замечание: Так же можно устанавливать сразу несколько типов шрифта.
Пример:

const

 KEY_CTRL_B = 02;

 KEY_CTRL_I = 9;

 KEY_CTRL_S = 19;

 KEY_CTRL_U = 21;

procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);

begin

 case Ord(Key) of

  KEY_CTRL_B: begin

  Key := #0;

  if fsBold in (Sender as TRichEdit).SelAttributes.Style then

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style - [fsBold] else

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style + [fsBold];

  end;

  KEY_CTRL_I: begin

  Key := #0;

  if fsItalic in

  (Sender as TRichEdit).SelAttributes.Style then

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style - [fsItalic]

  else

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style + [fsItalic];

  end;

  KEY_CTRL_S: begin

  Key := #0;

  if fsStrikeout in

  (Sender as TRichEdit).SelAttributes.Style then

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style - [fsStrikeout]

  else

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style + [fsStrikeout];

  end;

  KEY_CTRL_U: begin

  Key := #0;

  if fsUnderline in

  (Sender as TRichEdit).SelAttributes.Style then

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style - [fsUnderline]

  else

  (Sender as TRichEdit).SelAttributes.Style :=

  (Sender as TRichEdit).SelAttributes.Style + [fsUnderline];

  end;

 end;

end;

Взято из http://forum.sources.ru

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...