Шаг 7.
Вкладка Standard. Компонент TMemo
На этом шаге мы рассмотрим компонент TMemo
Компонент TMemo (Область просмотра) предназначен для вывода на экран нескольких
строк текста. Текст хранится в свойстве Lines класса TStrings и, таким образом, представляет собой
пронумерованный набор строк (нумерация начинается с нуля).
Свойства BorderStyle, CanUndo, HideSelection, MaxLentgh, Modified,
OEMConvert, OnChange, ReadOnly, SelLength, SelStart и SelText
аналогичны соответствующим свойствам класса TEdit. Свойство WordWrap
аналогично свойству TLabel.WordWrap.
Другие специфические свойства представлены в таблице.
Таблица 1. Свойства компонента TMemo
Свойство |
Описание |
property CaretPos: TPoint; |
Содержит координаты мигающего текстового курсора относительно границ клиентской области компонента
|
property ScrollBars: TScrollStyle;
TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth) ; |
Определяет наличие в многострочном поле полос прокрутки:
- ssNone - нет полос;
- ssHorizontal - есть горизонтальная полоса;
- ssVertical - есть вертикальная полоса;
- ssBoth - есть обе полосы
|
property Lines: TStrings; |
Содержит строки текста
|
property Text: String; |
Отображает содержимое свойства Lines в виде одной длинной строки, в которой границы отдельных
строк определяются символами EOL (CR/LF)
|
property WantReturns: Boolean; |
Если содержит значение True, нажатие клавиши вызывает переход на новую строку, в
противном случае - обрабатывается системой. Для перехода на новую строку в этом случае нажать клавиши Ctrl+Enter
|
property WantTabs: Boolean; |
Если содержит значение True, нажатие клавиши вызывает ввод в текст символа
табуляции, в противном случае - обрабатывается системой. Для ввода символа табуляции в этом случае следует
нажать клавиши Ctrl+Tab
|
Заметим, что, если свойство ScrollBars содержит значение ssHorizontal или ssBoth,
свойство WordWrap игнорируется, и длинные строки будут отсекаться границами компонента без
переноса текста на следующую строку.
Специфические методы класса аналогичны методам класса TEdit.
Во время проектирования двойным щелчком на свойстве Lines можно вызвать редактор строк,
как показано на рисунке.
Рис.1.Редактор строк
Рассмотрим методы Lines:
Таблица 2. Методы 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
Предыдущий шаг
Содержание
Следующий шаг