Memo (панель инструментов Standard) – многострочный текстовый редактор в Дельфи. Позволяет редактировать текст окна (сходство с окном Edit). Различие между Edit и Memo это множество строк. В свойстве Font компонента Memo формат всего текста одинаков. Для различных свойств формата текста лучше использовать компонент RichEdit.
Если Вы решили сохранять текст, введенный в Memo, то созданный текстовый файл не будет содержать элементов форматирования текста. По сути в сохраненном файле будет лишь сам текст, а не его атрибуты (пр. шрифт, курсив и т. д.). К примеру, если Вы выгружаете из файла текст обратно в Memo, то придется задавать Font программно.
Рассмотрим следующие свойства, свойство Lines имеет много свойств и методов типа Tstrings. Обычно используются для форматирования и редактирования текста. Сам текст хранится в свойстве Text. Свойства SelStart, SelLength, SelStart, Modified – описываются в предыдущей статье (читайте «Однострочное окно редактирования – Edit»).
Свойство Alignment определяет выравнивание текста (влево, вправо, по центру). Пример: Memo1.Alignment:=taCenter;.
WordWrap – свойство переноса длинных строк. Значения true или false. Полосы прокрутки задаются свойством ScrollBars. Адаптацию размера окна Memo к размеру формы или приложения задаются свойствами Align и Anchors.
К основным свойствам (Properties) относятся:
свойство | описание |
Align |
Способ выравнивания в родительском
окне |
Alignment |
Выравнивание текста (taLeftJustify,
taCenter, taRightJustify) |
WantReturns |
property WantReturns:Boolean;
Можно ли выставить в текст символы возврата корретки |
WantTabs |
property WantTabs:Boolean;
Можно ли выставить в текст символы каретки |
WantWrap |
property WantWrap:Boolean;
Указывает переносится ли текст на новую строчку |
Font |
property Font: TFont;
Атрибуты шрифта |
PopupMenu |
property PopupMenu: TPopupMenu;
Всплывающее меню компонента |
ReadOnly |
property ReadOnly:Boolean;
Может ли пользователь изменять текст в компоненте. |
SelLength |
property SelLength:Integer;
Определяет количество выделенных символов в строке. |
MaxLength |
property MaxLength:Integer;
Указывает максимальное количество символов, по умолчанию 0 – не ограничено |
Modified |
property Modified:Boolean;
Указывает, редактировался ли текст в компоненте. |
Рассмотрим основные методы. Clear – удаляет текст окна. ClearSelection – удаляет текст, выделенный в окне. ClearUndo – очищаем буфер обмена от команд. CopyToClipboard – перенос выделенного текста в Clipboard. CutToClipboard – перенос выделенного текста в Clipboard и уничтожение текста в окне. PasteToClipboard – вставка текста в окно из буфера обмена. Selectall – выделяем весь текст в окне. Undo – отменяем все изменения, которые хранятся в буфере с момента последнего вызова ClearUndo. Все эти методы являются процедурами, и задавать их нужно как Procedure <имя процедуры>;
Основные события (Events) для Memo:
OnChange – наступает, когда текст в окне изменился, OnKeyDown – наступает при нажатии пользователем любой клавиши (можно распознать нажатую клавишу в обработчике). OnKeyPress – событие наступает при нажатии пользователем клавиши символа (можно распознать вводимый символ в обработчике, а также запретить ввод). OnKeyUp – наступает, когда пользователь отпустил какую-либо клавишу (также можно распознать клавишу).
. свойства memo delphi 7 delphi события memo memo delfy делфи рассчитать операторы memo delphi memo