Рефераты. Разработка лабораторного практикума Создание тестирующей программы p> Модальная форма, или модальный диалог — специальная разновидность окон
Windows (и форм Delphi), предназначенная для ввода пользователем необходимых программе данных или выбора одного ответа из нескольких вариантов. Обычно при этом ему предоставляется несколько кнопок, соответствующих вариантам. Вплоть до получения ответа в модальном диалоге пользователь не может переключиться на другие окна той же задачи, а в системном модальном диалоге — и на другие задачи. Для использования в таких случаях предназначены стандартная кнопка Windows TButton и ее младшая сестра TBitBtn, отличающаяся только наличием картинки на ее поверхности.
При их нажатии значение свойства ModalResult кнопки передается одноименному свойству формы, где такое изменение означает вывод формы из модального состояния и ее закрытие:

(Pb) property ModalResult: TModalResult;

TModalResult = Low(Integer) ..High(Integer);

В модальной форме могут быть предусмотрены две специальные кнопки, соответствующие положительному и отрицательному решениям. Одна из них срабатывает при нажатии на клавиатуре , другая — . Любая кнопка может получить такой статус, установив в True соответственно одно из свойств:

(Pb) property Default: Boolean;

(Pb) property Cancel: Boolean;

У двух рассмотренных кнопок результат, который при нажатии кнопки передается модальной форме, будет соответственно равен mrOk и mrCancel.

1.2.5. Компонент TEdit

TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы.

Этот компонент доступен из модуля STDCTRL, и находится на странице
Палитры компонентов Standard.

Этот компонент не содержит собственного кода, в нем только опубликованы свойства его предка TCustomEdit. Он представляет собой редактируемую строку (далее — просто редактор).

Стиль обрамления этого компонента

(Pb) property BorderStyle: TBorderStyle; по умолчанию равен bsSingle.

Если свойство

(Pb) property AutoSize: Boolean; равно True, компонент изменяет свою высоту в зависимости от размера шрифта
(свойство Font). Для того чтобы изменения имели место, должен еще быть установлен стиль обрамления bsSingle.

Вводимый в редактор текст может автоматически подвергаться некоторым преобразованиям.

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

(Pb) property CharCase: TEditCharCase;

TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase) ;

По умолчанию установлен стиль ecNormal и преобразования не происходит.

Аналогично, свойство

(Pb) property OEMConvert: Boolean; определяет необходимость автоматического преобразования вводимых символов из кодировки OEM в ANSI и обратно. Такое свойство часто бывает нужно при обработке текста в кодировке MS-DOS.

Два следующих свойства описывают поведение выделенного текста при переходе фокуса. Первое из них

(Pb) property AutoSelect: Boolean; описывает реакцию редактирующего элемента при получении фокуса. Если оно установлено в True (по умолчанию это так), то при получении фокуса ввода весь текст в нем выделяется независимо от состояния свойства SelText. Если
AutoSelect установлено в False, то при получении фокуса выделяется лишь то, что было выделено до его утери.

После утери фокуса редактором выделенный в нем текст обычно теряет цветовое выделение. Чтобы оно оставалось, установите в False второе свойство:

(Pb) property HideSelection: Boolean;

На длину текста может быть наложено ограничение. Свойство

(Pb) property MaxLength: Integer; определяет максимальную длину текста редактора в символах. Если значение этого свойства равно 0, то ограничений на длину текста нет.

Свойство PasswordChar предназначено для ввода пароля с использованием редактора:

(Pb) property PasswordChar: Char;

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

Можно запретить возможность редактирования текста. Если значение свойства: (Pb) property ReadOnly: Boolean; равно True, текст изменить нельзя.

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

(Pb) property OnChange: TNotifyEvent ;
1.2.6. Компонент TRadioButton

TRadioButton позволяет выбрать только одну опцию из нескольких. Если опять открыть диалог Options | Project и выбрать страницу Linker Options, то можно видеть, что секции Map file и Link buffer file состоят из наборов
RadioButton.

Этот компонент доступен из модуля STDCTRL, и находится на странице
Палитры компонентов Standard.

Радиокнопка (переключатель), или кнопка с зависимой фиксацией — также стандартный элемент управления Windows. Особенностью радиокнопок является механизм их переключения. Они группируются автоматически, то есть при выборе одной из них все остальные, принадлежащие тому же элементу управления или форме, освобождаются. Для того чтобы в форме можно было использовать несколько независимых групп радиокнопок, используйте специальные компоненты.

Свойство

(Pb) property Checked: Boolean; определяет, нажата ли данная радиокнопка. При изменении этого свойства генерируется событие OnClick.

У радиокнопки имеется свойство Caption, содержащее связанный с ней текст. Выравнивание текста радиокнопки определяется свойством

(Pb) property Alignment: TLeftRight; и может проводиться только по левому или по правому краю. У этого компонента предусмотрено также событие:

(Pb) property OnDblClick;

Такое событие посылается только уже нажатой радиокнопке, в то время как OnClick — только ненажатой.

1.2.7. Компонент TComboBox

TComboBox во многом напоминает ListBox, за исключением того, что позволяет вводить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен спадающий вниз (drop-down combo box), который можно видеть внизу окна диалога выбора файла.

Этот компонент доступен из модуля STDCTRL, и находится на странице
Палитры компонентов Standard.

Этот стандартный элемент управления Windows — комбинированный список — имеет много общего с TListBox. Он состоит из собственно списка и помещенного рядом поля ввода редактирующего элемента. Таким образом, пользователь может выбрать одно из готовых значений какой-то величины или ввести свое. Стиль компонента в части правил взаимного сочетания списка и редактора определяется свойством:

(Рb) property Style: TComboBoxStyle;
TComboBoxStyle = (csDropDown, csSimple, csDropDownList,csOwnerDrawFixed, csOwnerDrawVariable) ;

Его значения имеют следующий смысл:

. csSimple — весь список виден все время. Текущий выбор отображается в редакторе, его можно изменить;

. csDropDown — список открывается (выпадает) и скрывается при нажатии кнопки, расположенной справа от текста. Такой список будем называть выпадающим;

. csDropDownList — список выпадающий, но редактирующий элемент заменен статическим текстом и вводить свои данные пользователь не может;

. csOwnerDrawFixed — определяемый пользователем стиль списка с постоянной высотой элемента;

. csOwnerDrawVariable — определяемый пользователем стиль списка с переменной высотой элемента.

Принципы пользовательской отрисовки списка для csOwnerDrawFixed и csOwnerDrawVariable, а также связанные с этим методы и события остались такими же, как в TListBox. По умолчанию устанавливается стиль csDropDown.

Организация списка также сходна с предыдущей. Приведенные свойства и методы имеют то же назначение:

(Pb) property Items: TStrings; property ItemIndex: Integer; procedure Clear;

(Pb) property Sorted: Boolean;

(Ro) property Canvas: TCanvas;

Текст, содержащийся в редактирующем элементе списка, доступен через свойство:

(Pb) property Text: TCaption;

Его максимальная длина ограничена числом символов, равным значению свойства:

(Pb) property MaxLength: Integer;

Если MaxLength равно 0, то ограничений на длину строки нет (до 255 символов).

При изменении текста (а также при смене выбранного элемента) возникает событие OnChange.

Часть текста может быть выделена. Три свойства содержат выделенный текст, его положение и длину: property SelText: string; property SelStart:. Integer; property SelLength: Integer;
Метод procedure SelectAll; выделяет весь текст. Значение свойства property DroppedDown: Boolean; соответствует состоянию списка: True соответствует открытому ("выпавшему") списку. С его помощью можно показывать или скрывать список из программы.
При изменении состояния списка возникает событие:

(Pb) property OnDropDown: TNotifyEvent;

Максимальное число элементов, которые показываются при выпадении списка:

(Pb) property DropDownCount: integer; по умолчанию оно равно 8. В первой версии VCL это свойство описано, но не реализовано (не играет роли).


1.2.8. Компонент TCheckBox

TCheckBox отображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора (пункт меню Options |
Project, страница Compiler), то можно увидеть, что оно состоит преимущественно из CheckBox’ов.

Этот компонент доступен из модуля STDCTRL, и находится на странице
Палитры компонентов Standard.

Кнопка с независимой фиксацией, или флажок. Является стандартным элементом управления Windows.

Состояние кнопки отражает свойство:

(Pb) property State: TCheckBoxState;

Оно может принимать одно из трех значений: .

TCheckBoxState = (cbUnchecked, cbChecked, cbGrayed);

Способ перехода из состояния в состояние при нажатии устанавливается свойством:

(Pb) property AllowGrayed: Boolean;

Если оно равно False, кнопка имеет два состояния и при каждом нажатии переходит из cbUnchecked в cbChecked и обратно. Если AllowGrayed = True, кнопка имеет три состояния и при нажатиях движется по циклу cbGrayed — cbChecked — cbUnchecked.

Показывает, отмечена ли кнопка (т. е. State = cbChecked), свойство:

(Pb) property Checked: Boolean;

Оно доступно для записи — с его помощью можно и отмечать кнопки.
Значение False соответствует cbUnchecked.

Выравнивание текста (только по правому или левому краю) задается при помощи свойства:

(Pb) property Alignment: TLeftRight;

TLeftRight = taLeftJustify..taRightJustify;

Кнопка также имеет свойство Caption. Двойной щелчок на кнопке не предусмотрен.


-----------------------
[pic]

[pic]

[pic]


Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.