Он находится на палитре компонентов Standart. Как мы уже успели понять, он представляет собой поле для отображения и редактирования неформатированного текста. Текст можно загрузить из файла, набрать на клавиатуре, вставить из буфера обмена. Т.е. он имеет многие доступные свойства для редактирования текста, что способствует его применению в простейших текстовых редакторах для просмотра (редактирования) текста, наподобие того примера, который мы с вами периодически дописываем вот уже несколько уроков.
В этом компоненте текст всегда имеет одинаковый шрифт, задающийся через свойство Font.
Программно для компонента Memo1, расположенного на форме это делается следующим образом. Допустим, на форме расположено три компонента: поле редактирования текста Memo1 (страница Standart), диалог выбора шрифта FontDialog1 (страница Dialogs) и кнопка Button1 (страница Standart). Реакция на событие нажатия на кнопку Button1
procedure TForm1.Button1Click(Sender: TObject);
begin
if FontDialog1.Execute then // если пользователь выбрал шрифт
Memo1.Font:=FontDialog1.Font; // установить выбранный шрифт
end;
Если необходимо, чтобы в диалоге выбора шрифта изначально был выбран текущий шрифт, установленный компоненте Memo1, то перед вызовом диалога Execite устанавливаем в диалоге нужный шрифт.
procedure TForm1.Button1Click(Sender: TObject);
begin
FontDialog1.Font:=Memo1.Font; // установить шрифт в диалоге
if FontDialog1.Execute then
Memo1.Font:=FontDialog1.Font;
end;
Можно изменять шрифт для компонента TMemo (и не только для него) программно. Для этого в свойстве Font устанавливаются необходимые свойства во время работы приложения.
Memo1.Font.Name:='Arial'; // установка имени шрифта
Memo1.Font.Size:=14; // установка размера шрифта
Memo1.Font.Color:=clRed; // цвет шрифта
{для того, чтобы увидеть полный список доступных стандартных цветов воспользуйтесь справочной системой, например, подведя курсор под clRed и нажав на Ctrl+F1}
Memo1.Font.Style:=[fsBold]; // установить жирный стиль