На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Редакторы текста, отчеты / Как изменить стиль шрифта RichEdit нажатиями соответствующих комбинаций клавиш? (например включить курсив по нажатию Ctrl + I) Сделать домашней страницей Добавить в избранное Написать писмо

Как изменить стиль шрифта RichEdit нажатиями соответствующих комбинаций клавиш? (например включить курсив по нажатию Ctrl + I)


В примере стили шрифта меняются по нажатию след. комбинаций клавиш
   Ctrl + B - вкл/выкл жирного шрифта
   Ctrl + I - вкл/выкл наклонного шрифта
   Ctrl + S - вкл/выкл зачеркнутого шрифта
   Ctrl + U - вкл/выкл подчеркнутого шрифта


Пример:

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;


Источник: Дельфи. Вокруг да около.


Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz