Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 6
Всего онлайн: 6
Зарегистрировано юзеров: 5860
Комментариев на сайте: 626
Новый юзер: Craigwoult



Последние комментарии
c
s1t1n прокомментировал "Урок 9 - Экспорт .3DS модели из 3DS max 2009 в OpenGL":
Отлично.
niaz-gtn прокомментировал "Урок 71 - Работа с сжатыми файлами":
7z.dll - приложите.



Мы в соцсетях
c
Delphi
Урок 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 и все готово можно пользоваться правой кнопкой.

Результат


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

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


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 13 Апреля 2013
Просмотров: 26171

Урок 24 - Изучаем компонент PaintBox Урок 26 - Создаем игру Ping-pong - часть(1/3)

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.