Шаг 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




Предыдущий шаг Содержание Следующий шаг