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, 5). |
PROPERTY Lines: TStrings; | Содержит строки текста. |
TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth); PROPERTY ScrollBars: TScrollStyle; | Определяет наличие в окне редактора полос прокрутки: 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 содержит пронумерованный список строк: первая строка в этом списке имеет индекс О, вторая - 1, а общее количество строк можно узнать с помощью . Lines.Count. Свойство Text удобно использовать для поиска в тексте нужного фрагмента. Чтобы, например, найти и выделить в тексте фрагмент, содержащийся в компоненте edSearch типа TEdit, можно использовать такой обработчик события OnClick кнопки btSearch:
PROCEDURETForm1.btSearchClick(Sender: TObject);
VAR
k: Integer;
BEGIN
WITH Memo1 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. Например, следующий обработчик события Оп-Creat формы Formi загружает в Memol текст проектного файла программы:
PROCEDURE TForm1.FormCreate(Sender: TObject);
BEGIN
Memol.Lines.LoadFromFile(
ChangeFileExt(Application.ExeName,'.dpr'));
END;
TButton – кнопка
Кнопки TButton широко используются для управления программами. Связанный с кнопкой алгоритм управления реализуется в обработчике события OnClick. Свойства компонента:
PROPERTY Cancel: Boolean; | Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Esc. |
PROPERTY Default: Boolean; | Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Enter. |
type TModalResult = Low(Integer)..High(Integer) ; PROPERTY ModalResult: TModalResult; | Определяет результат, с которым было закрыто модальное окно (см. ниже пояснение). |
В терминологии Windows модальными окнами называются такие специальные окна, которые, раз появившись на экране, блокируют работу пользователя с другими окнами вплоть до своего закрытия. Обычно с их помощью реализуется диалог, требующий от пользователя принятия некоторого решения. Для этого в состав модального окна включается несколько кнопок. Если у кнопки определено свойство Modal Result, нажатие на нее приводит к закрытию модального окна и возвращает в программу значение Modal Result как результат диалога с пользователем. В Delphi определены следующие стандартные значения Modal Result:
mrNone Модальное окно не закрывается. mrOk Была нажата кнопка ОК. mrCancel Была нажата кнопка Cancel. mrAbort Была нажата кнопка Abort. mrRetry Была нажата кнопка Retry. | mrlgnore Была нажата кнопка Ignore. mrYes Была нажата кнопка Yes. mrNo Была нажата кнопка No. mrAll Была нажата кнопка All |
Дата добавления: 2016-06-15; просмотров: 2964;