Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод2курс_прогр_конт.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.38 Mб
Скачать

2. Основные общие методы компонентов.

DisableAlign – временное отключение эффекта от свойства Align.

EnableAlign – включение эффекта от свойства Align.

Hide – скрывает компонент.

Show – отображает компонент.

SetFocus – передача компоненту фокуса ввода. Компонент не может получить фокус ввода, когда свойство Enabled равно false.

Clear – служит для очистки содержимого компонентов (текстовой информации).

Refresh – используется для обновления элемента и его перерисовке.

3.Обращение к объектам.

Для изменения значения свойства программным путем используется следующий формат:

Имя компонента . Имя свойства := значение;

Например:

Form1.Caption:=’Программа № 1’;

Button1.Caption:=’Вычислить’;

Label1.Color:=clBlue;

Label1.Font.Color:=clWhite;

Методы вызываются. Например:

Form1.Show;

Edit1.Clear;

Edit2.SetFocus.

  1. Основные события.

К общим группам событий можно отнести:

  • выбор управляющего элемента;

  • перемещение указателя мыши;

  • нажатие клавиш клавиатуры;

  • получение и потеря элементом фокуса ввода;

  • перемещение объектов методом Drag – and – Drop.

При выборе управляющего элемента возникает событие OnClick, которое также называется событием нажатия. Обычно оно возникает при щелчке левой кнопкой мыши на компоненте.

При щелчке любой кнопкой мыши генерируются еще два события: OnMouseDown, возникающее при нажатии кнопки мыши, и OnMouseUp, возникающее при отпускании кнопки мыши.

При двойном щелчке левой кнопкой мыши в области компонента генерируется событие OnDblClick.

При перемещении указателя мыши над компонентом генерируется событие OnMouseMove.

При работе с клавиатурой генерируются события OnKeyPress и OnKeyDown, возникающие при нажатии клавиши, а также событие OnKeyUp, возникающее при отпускании клавиши. Событие OnKeyPress генерируется при каждом нажатии алфавитно-цифровых клавиш и обрабатывается тогда, когда требуется реакция на нажатие одной клавиши, имеющей ASCII-код. Для обработки других клавиш можно использовать события OnKeyDown и OnKeyUp, возникающие при нажатии любой клавиши. В обработчике данных событий используется переменная Key, передающая код клавиши и программист может изменить фактический код клавиши на нужный. Это полезно при фильтрации нажатия каких-либо клавиш.

Технология DragandDrop позволяет перемещать различные объекты, например, элементы из одного списка в другой. При этом используются два элемента управления: источник и приемник. С этой технологией связаны следующие события:

  • OnStartDrag генерируется источником в начале выполнения операции перемещения.

  • OnDragOver вызывается приемником, когда перемещаемый объект находится над ним.

  • OnDragDrop вызывается приемником, когда объект перемещается на него.

  • OnEndDrag генерируется источником, когда операция перемещения завершается.

Лекция № 5. Визуальные компоненты для отображения текстовой информации. Основные свойства компонентов.

  1. Отображение текста

Т екст представляет собой надпись (ярлык) и чаще всего используется в ка­честве заголовков для других управляющих элементов, которые не имеют собственного свойства Caption. Для отображения надписей, в первую оче­редь, используется компонент Label (метка) (вкладка Standard). Он пред­ставляет собой простой текст, который не может быть отредактирован пользователем при выполнении программы.

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

Свойство Font позволяет измененить шрифта текста, выводимого компонентом Label. Нажав на плюсик слева от слова Font, можно увидеть  список свойств шрифта. Нажав на многоточие справа от "Font", откроется диалоговое окно выбора шрифтов.

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

- taLeftJustify — выравнивание по левому краю

- taCenter — центрирование текста

- taRightJustify — выравнивание по правому краю

Е сли свойство AutoSize имеет значение True, то свойство Alignment не действует.

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

Компонент StaticText. Компонент Delphi StaticText (вкладка Additional) предназначен для вывода небольшой текстовой строки на форме.  Главное отличие его от компонента Label состоит в том, что он имеет рамку.

С войство BorderStyle определяет

внешний вид рамки и оно может принимать одно из трех значений:

  • sbsNone - рамка отсутствует,

  • sbsSingle - рамка представляет из себя обычную линию,

  • sbsSunken - рамка представляет из себя вдавленную область. 

2.Однострочные редакторы

Однострочный редактор, или строка редактирования, представляет собой поле ввода информации, в котором возможно отображение и изменение текста. В Delphi имеется несколько однострочных редакторов, из них наи­более часто используемым является компонент Edit.

К омпонент Edit (вкладка Standard) позволяет вводить с клавиатуры и редактировать различ­ные символы, при этом поддерживаются операции, такие как, перемещение по строке с использованием клавиш управления курсором, удаление симво­лов с помощью клавиш <Backspace> и <Delete>, выделение части текста и др. Однако, однострочный редактор не реагирует на управляющие клавиши <Enter> и <Esc>.

Свойство Text предназначено для доступа к тексту компонента.

Для ограничения ввода символов в поле Text свойство MaxLength должно быть равно допустимому количеству символов. При  MaxLength равным нулю нет ограничений на длину текста.

Очистить поле можно командой: Edit1.Clear;

или присвоить значение пустой строки: Edit1.Text := '';

Для изменения регистра символов в строке редактирования служит свойство CharCase, которое может принимать одно из трех значений:

  • ecLowerCase - символы текста преобразуются в символы нижнего регистра

  • ecNormal - регистр символов не изменяется (по умолчанию)

  • ecUpperCase - символы текста преобразуются в символы верхнего регистра

При использовании компонента Edit для ввода пароля можно воспользоваться свойством PasswordСhar типа char, которое задает символ для отображения в поле ввода. Этот символ при вводе текста появляется вместо фактически вве­денной информации.

Компонент LabeledEdit (вкладка Additional) совмещает возможности двух компонентов Label и Edit.

Расположение надписи по отношению к полю ввода задается свойством LabelPosition:

  • l pLeft - надпись слева,

  • lpRight -надпись справа,

  • lpBelow - надпись снизу,

  • lpAbove  - надпись сверху.

Расстояние между надписью и полем ввода свойством LabelSpacing.

По своим свойствам LabeledEdit почти полностью совпадает со свойствами компонента Edit. За свойства надписи отвечает свойство EditLabel, которое является вложенным компонентом Label. Надпись задается и редактируется в этом вложенном объекте - в свойстве Caption.

Компонент MaskEdit (вкладка Additional) также представляет собой однострочный редактор, но по сравнению с компонентом Edit он дополнительно предоставляет воз­можность ограничения вводимой информации по шаблону. С помощью шаблона (маски) можно ограничить число вводимых пользователем симво­лов, тип вводимых символов (алфавитный, цифровой и т. д.). Кроме того, во вводимую информацию можно вставить дополнительные символы (разделители при вводе даты, времени и т. п.). С помощью редактирования по маске удобно вводить телефонные номера, даты, почтовые индексы и другую информацию заранее определенного формата.

Маска задается в свойстве EditMask типа string. Она представляет собой последовательность специальных кодов, определяющих для строки редакти­рования формат содержащегося в ней текста. Для составления маски можно использовать редактор шаблонов. Редактор шаблонов вызывается двойным щелчком в поле значения свойства EditMask.

М аска состоит из трех полей, разделенных символом ";". Первое поле явля­ется собственно маской. Второе поле - это символ, определяющий, счита­ются ли литеральные символы частью данных. По умолчанию используется символ "1", и литеральные символы маски являются частью введенного в редактор текста (свойство Text). Если вместо "1" установить символ "0", то литеральные символы маски по-прежнему будут отображаться в поле редак­тора при вводе в него текста, однако в свойстве Text литеральные символы отсутствуют. Литеральные символы удобно использовать в качестве раздели­телей, например, при вводе телефонных номеров.

Третье поле содержит символ, используемый для представления знака про­бела в маске, по умолчанию это символ подчеркивания. Если ни второе, ни третье поля не определены, то для них используются значения по умолча­нию.

В маске можно применять следующие специальные символы:

! - в тексте подавляются начальные пробелы. Если символ ! отсутствует, то подавляются конечные пробелы.

> - символы, которые следуют за этим символом, до появления символа < переводятся в верхний регистр

< - символы, которые следуют за этим символом, до появления символа > переводятся в нижний регистр

<> - проверка регистра символов не производится

\ - символ, следующий за этим символом, является литерным

L - в позиции должен быть введен алфавитный символ

l (строчная латинская буква L) - в позиции может быть введен алфавит­ный символ

А - в позиции должен быть введен алфавитно-цифровой символ

а - в позиции может быть введен алфавитно-цифровой символ

С - в позиции должен быть введен символ

с - в позиции может быть введен символ

0 - в позиции должен быть введен цифровой символ

9 - в позиции может быть введен цифровой символ

# - в позиции может быть введен цифровой символ или знаки + и -

: - используется для разделения часов, минут и секунд в показаниях вре­мени

/ - используется для разделения дней, месяцев и лет в датах

; - разделяет поля маски

_ - оставляет в окне редактирования пустое пространство, являющееся автоматически пропускаемым разделителем и в которое нельзя ввести информацию.

Примеры масок:

!99/99/00;1;_ - для ввода даты

!000-00-00;1;_ - для ввода семизначного телефонного номера

!90:00;1;_ - для указания времени

1_1_1_1_1_1_;1;_ - для ввода слова длиной не более шести букв (между бу­квами отображаются пробелы)/

Маску можно  выбрать из образцов в поле Sample Masks или ввести вручную в поле Input Mask. Легче выбрать из образцов наиболее близкую маску и отредактировать ее.  Поле Character for Blanks задает вид незаполненной позиции во входной строке. Значок Save Literal Characters отвечает за включение в маску литеральных символов. В поле Test Input проверяется функциональность маски и какой будет вид пустого поля в приложении.

Для проверки вводимой информации можно использовать обработчики собы­тий нажатия клавиш, например, обработчик события OnKеуРгеss.

Пример. Ограничение набора символов, вводимых в редактор.

procedure TForml.EditlKeyPress(Sender : TObject; var Key : Char);

begin

if (Key<’0’ or (Key>'9') then Key:=#0;

end;

Здесь для редактора Editl установлено разрешение ввода только цифр.