Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии разработки приложений в средах Delphi и C++ Builder. Минаева Ю.В.doc
Скачиваний:
17
Добавлен:
01.05.2022
Размер:
827.9 Кб
Скачать
    1. Компонент Lable

Компонент Lable , называемый также меткой (рис. 3), чаще всего используется в качестве заголовков для других управляющих элементов. Этот компонент представляет собой простой текст, который не может быть отредактирован пользователем при выполнении программы.

Основным свойством компонента Label является свойство Caption, в котором хранится текст, отображаемый меткой.

  1. Компонент Label

Текст метки, так же как и многие другие свойства, можно установить на этапе разработки программы с помощью инспектора объектов (рис. 4).

  1. Инспектор объектов

Присвоить текст компоненту во время работы программы можно следующим образом:

Label1.Caption := ‘Новый текст’; //Object Pascal

Label1->Caption = " Новый текст "; // C++

Рассмотрим другие свойства данного компонента.

Для управления автоматической коррекцией размеров компонента Label в зависимости от текста надписи служит свойство AutoSize типа boolean. Если свойство имеет значение true (по умолчанию), то компонент Label изменяет свои размеры соответственно содержащемуся в нем тексту, заданному в свойстве Caption.

Способ выравнивания текста внутри компонента Label задает свойство Alignment, которое может принимать одно из следующих значений:

  • taLeftJustify – выравнивание по левому краю;

  • taCenter – центрирование текста;

  • taRightJustify – выравнивание по правому краю.

Управлять автоматическим переносом слов, не умещающихся по ширине, на другую строку можно с помощью свойства WordWrap. Чтобы обеспечить перенос слов на следующую строку, нужно установить значение этого свойства в true. По умолчанию свойство WordWrap имеет значение false, и перенос текста не происходит.

Разнообразить вид надписи можно с помощью свойства Font, которое позволяет установить цвет надписи, ее шрифт, размер и т.д.

Надпись может быть прозрачной или залитой цветом, что определяется свойством Transparent типа boolean. Цвет заливки устанавливается свойством Color. По умолчанию свойство Transparent имеет значение false, и надпись непрозрачна. Прозрачный компонент Label может понадобиться в случаях, когда надпись размещается поверх рисунка и не должна закрывать изображение.

    1. Компонент Edit

Ввод и редактирование информации выполняется в специальных полях или областях формы. При необходимости пользователь может изменить отображаемые данные. Для этих целей Delphi предлагает различные компоненты, например, Edit, MaskEdit, Memo, RichEdit и LabeledEdit.

Рассмотрим однострочные редакторы, наиболее часто из которых используется компонент Edit.

Компонент Edit (рис. 5) позволяет вводить и редактировать с клавиатуры различные символы, при этом поддерживаются такие операции, как перемещение по строке с использованием клавиш управления курсором, удаление символов с помощью клавиш <BackSpace> и <Delete>, выделение части текста, копирование выделенного текста в буфер обмена и вставка из него, отмена последней команды редактирование и т.д.

  1. Компонент Edit

Основным свойством компонента Edit является свойство Text, в котором содержится вводимый текст. Это свойство можно устанавливать в процессе проектирования или задавать программно. В отличие от меток, невозможно установить выравнивание текста и перенос слов. Текст, не помещающийся по длине в окно, просто сдвигается и пользователь может перемещаться по нему с помощью курсора.

Т.к. свойство Text имеет строковый тип, то при использовании компонента Edit для вывода, ввода и редактирования чисел необходимо использовать функции взаимного преобразования строк и чисел:

IntToStr(value: integer): string - преобразует целое число в строку;

FloatToStr(value: extended): string - преобразует вещественное число в строку;

StrToInt(const s: string): integer – преобразует строку в целое число;

StrToFloat(const s: string): extended – преобразует строку в вещественное число.

Например, в поля Edit1 и Edit2 вводятся два числа, причем в Edit1 вводится целое число, а в Edit2 – вещественное. Нужно в Edit3 вывести сумму этих чисел.

// - - - - Object Pascal - - - -

var

a: integer;

b: real;

begin

a := StrToInt(Edit1.Text);

b := StrToFloat(Edit2.Text);

Edit3.Text := FloatToStr(a + b);

end;

// - - - - - - - C++ - - - - - - -

{

int a;

double b;

a = StrToInt(Edit1->Text);

b = StrToFloat(Edit2->Text);

Edit3->Text = FloatToStr(a + b);

}

Компонент Edit можно использовать и просто для отображения текста. Для этого надо установить в false свойство ReadOnly. В этом случае пользователь не сможет изменить отображаемый текст.

Свойство MaxLength определяет максимальную длину вводимого текста. Если MaxLength = 0, то длина текста не ограничена, в противном случае значение MaxLength указывает максимальное число символов, которое может ввести пользователь.

Свойство Modified, доступное только во время выполнения программы, показывает, проводилось ли редактирование текста в окне. Если оно равно true, то было произведено редактирование, если false, то текст в поле не изменялся.