На этом шаге мы рассмотрим компонент TMemo
Компонент TMemo (Область просмотра) предназначен для вывода на экран нескольких строк текста. Текст хранится в свойстве Lines класса TStrings и, таким образом, представляет собой пронумерованный набор строк (нумерация начинается с нуля).
Свойства BorderStyle, CanUndo, HideSelection, MaxLentgh, Modified, OEMConvert, OnChange, ReadOnly, SelLength, SelStart и SelText аналогичны соответствующим свойствам класса TEdit. Свойство WordWrap аналогично свойству TLabel.WordWrap.
Другие специфические свойства представлены в таблице.
Свойство | Описание |
---|---|
property CaretPos: TPoint; | Содержит координаты мигающего текстового курсора относительно границ клиентской области компонента |
property ScrollBars: TScrollStyle; TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth) ; |
Определяет наличие в многострочном поле полос прокрутки:
|
property Lines: TStrings; | Содержит строки текста |
property Text: String; | Отображает содержимое свойства Lines в виде одной длинной строки, в которой границы отдельных строк определяются символами EOL (CR/LF) |
property WantReturns: Boolean; | Если содержит значение True, нажатие клавиши |
property WantTabs: Boolean; | Если содержит значение True, нажатие клавиши |
Заметим, что, если свойство ScrollBars содержит значение ssHorizontal или ssBoth, свойство WordWrap игнорируется, и длинные строки будут отсекаться границами компонента без переноса текста на следующую строку.
Специфические методы класса аналогичны методам класса TEdit.
Во время проектирования двойным щелчком на свойстве Lines можно вызвать редактор строк, как показано на рисунке.
Рис.1.Редактор строк
Рассмотрим методы Lines:
Метод | Описание |
---|---|
procedure Clear; | Очищает список |
procedure Insert (Index: Integer; const S: string); | Вставляет строку S под номером Index |
procedure LoadFromFile (const FileName: String); | Заполняет список строками текста из указанного файла FileName |
procedure SaveToFile (const FileName: String); | Сохраняет строки списка в файле с указанным именем |
Например, следующий обработчик события OnCreate формы Form1 загружает в компонент Memo1 текст проектного файла программы:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Lines.LoadFromFile(ChangeFileExt(Application.ExeName,'.dpr')); end; end.
Вот, что у вас должно получиться.
Рис.2.Компонент Memo1 с текстом проектного файла программы
На следующем шаге мы рассмотрим компонент TButton