Урок 25 - Подробное изучение RichEdit'a

  В этом уроке изучим компонент RichEdit на вкладке Win32.

   Кинем на форму компонент RichEdit и ToolBar, свойство Align у RichEdit установим на alClient и наш компонент растянется на всю форму. Определимся что будет уметь делать наш редактор: Загружать, сохранять, выравнивание (По левому краю, по центру, по правому краю), стилизация текста.

   Итак начнем с самого простого, загрузка и сохранение, вытаскиваем 2 компонента OpenDialog и SaveDialog с вкладки Dialogs, и кликаем на ToolBar правой кнопкой, в появившемся меню выбираем New Button, также создадим еще одну кнопочку.

Результат
Вот что должно получится


  И в первой и во второй создаем событие OnClick и пишем код:
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then  //Вызываем диалог открытия
    RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); //Открываем файл
end;
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
  if SaveDialog1.Execute then //Вызываем диалог сохранения
    RichEdit1.Lines.SaveToFile(SaveDialog1.FileName); //Сохраняем файл
end;
   Загрузку и сохранение мы реализовали, теперь стилизацию текста, для этого сделаем разделитель в ToolBar'е, кликаем на него правой кнопкой и в меню выбираем New Separator и описанным выше способом создаем 3 кнопки и в их обработчиках событий OnClick пишем код:
procedure TForm1.ToolButton4Click(Sender: TObject);
begin
  RichEdit1.SelAttributes.Style:=[fsBold];  //Жирный
end;

procedure TForm1.ToolButton5Click(Sender: TObject);
begin
  RichEdit1.SelAttributes.Style:=[fsItalic]; //Курсив
end;

procedure TForm1.ToolButton6Click(Sender: TObject);
begin
  RichEdit1.SelAttributes.Style:=[fsUnderline]; //Подчеркнутый
end;


Результат


   Теперь выравнивание, также создаем разделитель и 3 кнопки. В событиях OnClick следующий код:
procedure TForm1.ToolButton7Click(Sender: TObject);
begin
  RichEdit1.Paragraph.Alignment:=taLeftJustify;//По левому краю
end;

procedure TForm1.ToolButton8Click(Sender: TObject);
begin
  RichEdit1.Paragraph.Alignment:=taCenter;// По центру
end;

procedure TForm1.ToolButton9Click(Sender: TObject);
begin
  RichEdit1.Paragraph.Alignment:=taRightJustify;// По правому краю
end;


Результат


   Цвет шрифта, вытаскиваем диалог выбора цвета ColorDialog и делаем кнопку с разделителем. В событии OnClick код:
procedure TForm1.ToolButton12Click(Sender: TObject);
begin
  if ColorDialog1.Execute then //Открываем диалог выбора цвета
    RichEdit1.SelAttributes.Color:= ColorDialog1.Color; //Применяем цвет выделенному фрагменту
end;


Результат


   Работает! Теперь научимся изменять размер выделенного текста, опять делаем разделить и вставляем Edit с компонентом UpDown. Свойство Associate установить на Edit1. В обработчике события Edit1 OnChange напишем код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  RichEdit1.SelAttributes.Size:=StrToInt(Edit1.Text);  // Изменяем размер
end;


Результат


   Можно изменять внешний вид шрифта, вытащим FontDialog и создадим еще одну кнопочку в её событии OnClick напишем:
procedure TForm1.ToolButton15Click(Sender: TObject);
begin
   if FontDialog1.Execute then
    RichEdit1.Font:= FontDialog1.Font;
end;


Результат


   Теперь у нас есть простой редактор текста, но чего-то не хватает. Не хватает стандартных функций вырезки, вставки, копирования и т.д. Урок получился довольно большим и поэтому мы схитрим, не будем писать код а воспользуемся стандартными функциями, открою вам небольшой секрет, все что мы сейчас сделали можно было не писать, а воспользоваться всё теми же функциями.

   Все что нам надо сделать это вытащить ActionList и PopupMenu на вкладке Standart. Кликаем два раза на ActionList и дальше как на картинке.

Результат


   Затем выбираем действие в появившемся меню TEditCut, также добавляем: TEditCopy, TEditPaste, TEditSelectAll, TEditUndo. В конечном итоге у вас должно получится вот это:

Результат


   Теперь в PopupMenu создаём 5 пунктов с любым именем, в свежесозданом пункте в свойстве Action выберем наше действие и Caption задастся сам и так для всех пяти штук, по желанию их можно перевести на русский язык. К конце нужно установить свойство PopupMenu RichEdit'а на PopupMenu1 и все готово можно пользоваться правой кнопкой.

Результат


   Картинки я оставляю на вашу совесть. Экспериментируете!

Удачи!
Встретимся в следующем уроке!



  1. Dohorprok
    Dohorprok 9 months ago
    Buy Avanafil Inimeneidigh [url=https://bansocialism.com/]tadalafil cialis from india[/url] diunny Pharmacy Stores In Canada
  2. ZfxNI
    ZfxNI 8 months ago
    Drugs information sheet. Effects of Drug Abuse. <a href="https://viagra4u.top">order cheap viagra no prescription</a> in US. Everything about medication. Read information now.
    [url=http://bpo.gov.mn/content/453]Actual information about medicament.[/url] [url=https://aroundtheworldinvideos.com/america/usa/top-10-best-places-to-live-in-georgia-usa-for-2020/#comment-156377]Best news about drug.[/url] [url=http://pogaduchyweselne.pl/temat-Actual-what-you-want-to-know-about-medicines]Actual what you want to know about medicines.[/url] 7570305
  3. ckpbkzbey
    ckpbkzbey 7 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    ckpbkzbey http://www.g6m47g5r6od9io013846h6ngk5qfpg80s.org/
    [url=http://www.g6m47g5r6od9io013846h6ngk5qfpg80s.org/]uckpbkzbey[/url]
    <a href="http://www.g6m47g5r6od9io013846h6ngk5qfpg80s.org/">ackpbkzbey</a>
  4. chvrgfcxr
    chvrgfcxr 6 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    [url=http://www.goaljr0xt8v87kh59202f45v07nrm814s.org/]uchvrgfcxr[/url]
    <a href="http://www.goaljr0xt8v87kh59202f45v07nrm814s.org/">achvrgfcxr</a>
    chvrgfcxr http://www.goaljr0xt8v87kh59202f45v07nrm814s.org/
  5. Dohorprok
    Dohorprok 5 months ago
    [url=http://hcialischeapc.com/]buy cialis online no prescription[/url]
  6. mzsrbcgtfi
    mzsrbcgtfi 5 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    <a href="http://www.ge39t918elo2bm647w0d723r5hl9pk0ws.org/">amzsrbcgtfi</a>
    [url=http://www.ge39t918elo2bm647w0d723r5hl9pk0ws.org/]umzsrbcgtfi[/url]
    mzsrbcgtfi http://www.ge39t918elo2bm647w0d723r5hl9pk0ws.org/
  7. vbvcyofq
    vbvcyofq 4 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    <a href="http://www.gb42bcc40477tp92sq33mjy0i9s0nl78s.org/">avbvcyofq</a>
    vbvcyofq http://www.gb42bcc40477tp92sq33mjy0i9s0nl78s.org/
    [url=http://www.gb42bcc40477tp92sq33mjy0i9s0nl78s.org/]uvbvcyofq[/url]
  8. Dohorprok
    Dohorprok 4 months ago
    <a href="http://vskamagrav.com/">buy kamagra[/url]</a>
  9. lymstepqp
    lymstepqp 3 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    lymstepqp http://www.g8113o4mwhn9x27k0y42y2iy6oo75ng0s.org/
    [url=http://www.g8113o4mwhn9x27k0y42y2iy6oo75ng0s.org/]ulymstepqp[/url]
    <a href="http://www.g8113o4mwhn9x27k0y42y2iy6oo75ng0s.org/">alymstepqp</a>
  10. abobiap
    abobiap 3 months ago
    <a href="http://vsviagrav.com/">cheap herbal viagra[/url]</a>
  11. gxoxpsszpc
    gxoxpsszpc 3 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    [url=http://www.g4x6g4k2312nutjzkui08r6a8d762u26s.org/]ugxoxpsszpc[/url]
    <a href="http://www.g4x6g4k2312nutjzkui08r6a8d762u26s.org/">agxoxpsszpc</a>
    gxoxpsszpc http://www.g4x6g4k2312nutjzkui08r6a8d762u26s.org/
  12. nctjkrngf
    nctjkrngf 3 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    [url=http://www.gkd1836s3q7b47ev0954ukri9s5yp15hs.org/]unctjkrngf[/url]
    <a href="http://www.gkd1836s3q7b47ev0954ukri9s5yp15hs.org/">anctjkrngf</a>
    nctjkrngf http://www.gkd1836s3q7b47ev0954ukri9s5yp15hs.org/
  13. abobiap
    abobiap 2 months ago
    <a href="https://ponlinecialisk.com">buy cialis online uk[/url]</a>
  14. abobiap
    abobiap 2 months ago
    <a href="https://fcialisj.com/">cialis 5mg best price</a>
  15. kclpkdbdby
    kclpkdbdby 2 months ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    <a href="http://www.g56p9i3y8pg14laewyf32875g67z1p2hs.org/">akclpkdbdby</a>
    [url=http://www.g56p9i3y8pg14laewyf32875g67z1p2hs.org/]ukclpkdbdby[/url]
    kclpkdbdby http://www.g56p9i3y8pg14laewyf32875g67z1p2hs.org/
  16. abobiap
    abobiap a month ago
    <a href="http://cialiswwshop.com/">cialis coupon</a>
  17. dsvrkjgotr
    dsvrkjgotr a month ago
    Урок 25 - Подробное изучение RichEdit'a - The Delphi
    [url=http://www.gx3674v3dhv1833j19kd4op8o67nu5oks.org/]udsvrkjgotr[/url]
    <a href="http://www.gx3674v3dhv1833j19kd4op8o67nu5oks.org/">adsvrkjgotr</a>
    dsvrkjgotr http://www.gx3674v3dhv1833j19kd4op8o67nu5oks.org/
  18. abobiap
    abobiap a month ago
    <a href="https://cialiswwshop.com/">buying generic cialis online safe</a>
Отменить.