TMemo - ввод и отображение текста
Компоненты класса TMemo предназначены для ввода, редактирования и/или отображения достаточно длинного текста. Текст хранится в свойстве Lines класса TStrings и, таким образом, представляет собой пронумерованный набор строк (нумерация начинается с нуля). С помощью свойств И методов этого класса (Count, Add, Delete, Clear и т. д.) можно динамически формировать содержимое компонента.
Свойства BorderStyle, CanUndo, HideSelection, MaxLentgh, Modified, OEMConvert, OnChange, Readonly, SelLength, SelStart и SelText аналогичны соответствующим свойствам класса TEdit. Свойство WordWrap аналогично свойству TLabel. WordWrap. Другие специфичные свойства представлены ниже:
property CaretPos: TPoint; | Содержит координаты мигающего текстового курсора относительно границ клиентской области компонента (только для Delphi 4...6) |
property Lines: TStrings; TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth) ; property ScrollBars: Tscroll-Style; | Содержит строки текста Определяет наличие в окне редактора полос прокрутки: ssNone - нет полос;ssHorizontal -есть горизонтальная полоса; ssVertical - есть вертикальная полоса; ssBoth - есть обе полосы |
property WantReturns: Boolean; | Если содержит True, нажатие Enter вызывает переход на новую строку, в противном случае обрабатывается системой. Для перехода на новую строку в этом случае следует нажать Ctrl+Enter |
property WantTabs: Boolean; | Если содержит True, нажатие Tab вызывает ввод в текст символа табуляции, в противном случае - обрабатывается системой. Для ввода символа табуляции в этом случае следует нажать Ctrl+Tab |
Замечу, что, если свойство ScrollBars содержит ssHorizontal или ssBoth, свойство wordwrap игнорируется, и длинные строки будут отсекаться границами компонента без переноса текста на следующую строку.
Специфичные методы класса аналогичны методам класса TEdit.
Поскольку компонент является потомком TControl, он имеет также свойство Text, которое содержит отображаемый компонентом текст в виде одной длинной строки. В этой цепочке символов границы строк многострочного текста выделяются символами #13#10 (признак eoln - конец строки). В отличие от этого свойство Lines содержит пронумерованный список строк: первая строка в этом списке имеет индекс 0, вторая - 1, а общее количество строк можно узнать с помощью Lines .count.
Свойство Text удобно использовать для поиска в тексте нужного фрагмента. Чтобы, например, найти и выделить в тексте фрагмент, содержащийся В компоненте edSearch типа TEdit, можно использовать такой обработчик события onclick кнопки btSearch:
procedureTForm1.btSearchClick(Sender: TObject);
Var
k: Integer;
Begin
WithMemo1 do
Begin
k: := pos(edSearch.Text,Text);
if k>0 then
Begin
SelStart := k-1;
SelLength := Length(edSearch.Text)
End
end;
end;
Если вы захотите, чтобы найденный в тексте фрагмент после установки SelStart и SelLength сразу бы выделился цветом, установите False в свойство HideSelection.
Для загрузки в компонент текста из файла и для сохранения текста в файле удобно использовать методы LoadFromFile И SaveToFile класса TStrings. Например, следующий обработчик события OnCreat формы Form1 загружает в Memo1 текст проектного файла программы:
procedureTForm1.FormCreate(Sender: TObject);
Begin
Memol.Lines.LoadFromFile(
ChangeFileExt(Application.ExeName,'.dpr '))
end;
Кнопки TButton широко используются для управления программами. Связанный с кнопкой алгоритм управления реализуется в обработчике события OnClick.
Свойства компонента:
property Cancel: Boolean; | Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Esc |
property Default: Boolean; | Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Enter |
type TModaiResult = Low(Integer)..High(Integer) ; property ModalResult: TModaiResult; | Определяет результат, с которым было закрыто модальное окно (см. ниже пояснение) |
В терминологии Windows модальными окнами называются такие специальные окна, которые, раз появившись на экране, блокируют работу пользователя с другими окнами вплоть до своего закрытия. Обычно с их помощью реализуется диалог, требующий от пользователя принятия некоторого решения. Для этого в состав модального окна включается несколько кнопок. Если у кнопки определено свойство ModalResult, нажатие на нее приводит к закрытию модального окна и возвращает в программу значение ModalResult как результат диалога с пользователем. В Delphi определены следующие стандартные значения ModalResult:
mrNone Модальное окно не закрывается
mrlgnore Была нажата кнопка Ignore
mrOk Была нажата кнопка Oк
mrYes Была нажата кнопка Yes
mrCancel Была нажата кнопка Cancel
mrNo Была нажата кнопка No
mrAbort Была нажата кнопка Abort
mrAll Была нажата кнопка All
mrRetry Была нажата кнопка Retry
В отличие от большинства других видимых компонентов кнопка TButton является компонентом самой Windows и поэтому не может изменять свой цвет произвольным образом - она его меняет вместе с изменением палитры Windows. Кнопка всегда имеет системный цвет clBtnFace и не имеет свойства Color. Шрифт надписи на кнопке может менять свой стиль и размер, но компонент игнорирует изменение его цвета.
Дата добавления: 2016-03-04; просмотров: 1057;