КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Значение ДействиеbkCustom Реакция кнопки определена программистом bkOK Закрытие формы стандартным действием. В свойство ModalResult записывается значение mrOK bkCancel Закрытие формы с отказом от изменений. В свойство ModalResult записывается значение mrCancel bkYes Подтверждение изменений. В свойство ModalResult записывается значение mrYes bkNo Отказ от изменений. В свойство ModalResult записывается значение mrNo bkHelp Вызов раздела справочной системы в соответствии со значением, записанным в свойство HelpContext bkClose Закрытие формы bkAbort Прерывание. Форма не закрывается bkRetry Повтор попытки bklgnore Игнорирование возникшей ситуации bkAll Подтверждение всех изменений Для каждого из видов кнопки, за исключением bkCustom, в системе Delphi 7 имеет- ся особая картинка. ЗАМЕЧАНИЕСпособ закрытия формы, на которой расположено кнопка, определяется значением свойства ModalResuLt. Это свойство имеется и у обычной кнопки TButton. С помощью свойство Layout можно указать расположение картинки по отношению к тексту (заголовку) кнопки. Возможные значения указаны ниже. Таблица 4.35. Значения свойства Layout Значение Расположение blGlyphLeft Слева blGlyph Right Справа blGlyphTop Вверху MGlyphBottom Внизу
Расстояние между картинкой и текстом (в пикселах) задается в свойстве Spacing. У класса TBitBtn имеется новый метод Click, который моделирует щелчок на кнопке. Он используется, когда надо закрыть форму одним из стандартных способов.
Компонент Шаблон ввода(TMaskEdit) Этот компонент позволяет вводить данные в текстовое поле по заданному шаблону. Он полезен для приложений, где надо контролировать вводимую пользователями информацию. После размещения компонента на форме для него надо задать структуру маски (шаблона, по которому будет осуществляться ввод) и начальное значение поля. Структура маски может быть сформирована двумя способами; с помощью редактора, вызываемого из контекстного меню объекта — пункт Input Mask Editor (Редактор маски ввода), — или программно, заданием нужного значения для свойства EditMask, которое хранит структуру маски в текстовом виде. Рассмотрим второй способ. Маска состоит из трех частей, разделенных точками с запятой. Первая часть — собственно маска, описывающая допустимые значения символов в конкретных позициях поля. В процессе ввода в поле могут присутствовать дополнительные символы, предназначенные для более наглядного представления информации, а также для автоматического включения в итоговый текст (табл. 4.36).
Таблица 4.36. Назначение символов первой части маски Символ Значение ! Если этот символ присутствует в маске, то необязательные символы вставляются перед маской. Если отсутствует — необязательные символы вставляются после маски Ø Все последующие символы автоматически приводятся к верхнему регистру < Все последующие символы автоматически приводятся к нижнему регистру <> Прекращение преобразования регистра \ Последующий символ вставляется в маску. Данная возможность необходима для добавления символов, используемых в качестве элементов шаблона L В данную позицию разрешен только ввод буквы I В данную позицию разрешен только ввод буквы, но ее можно оставить пустой А В данную позицию разрешен только ввод буквы или цифры а В данную позицию разрешен только ввод буквы или цифры, но ее можно оставить пустой С В данную позицию разрешен ввод произвольного символа с В данную позицию разрешен ввод произвольного символа, но ее можно и оставить пустой О В данную позицию разрешен только ввод цифры 9 В данную позицию разрешен только ввод цифры, но ее можно оставить пустой # В данную позицию разрешен только ввод цифры или символов +/-• Позицию можно оставить пустой : В данную позицию вставляется символ, который в текущей версии Windows используется для разделения часов, минут и секунд при записи времени _ В данную позицию автоматически вставляется пробел
Вторая часть маски определяет, будут ли эти дополнительные символы включены в итоговый текст. Символ 0 указывает, что они не должны включаться в результат, любой другой символ разрешает их включение. Третья часть маски —символ, заполняющий позиции шаблона, которые пользователь оставил пустыми (по умолчанию используется пробел). Символы, не включенные в табл. 4.36, вставляются в результирующий текст без изменений. В процессе ввода курсор автоматически перескакивает через них. Рассмотрим пример, в котором требуется сформировать поле для ввода московских телефонных номеров. Маска может выглядеть так: MaskEditl.EditMask : = 'Тел. +7 ( \0\95)000-00-00 ;*;*'. В процессе ввода человеку достаточно указать только 7 цифр, не нажимая дополнительных клавиш. В результате в свойстве EditText объекта MaskEditl может оказаться, например, такой текст: «Тел. +7(095)123-45-67». Это свойство отличается от свойства Text тем, что поля маски, не указанные пользователем, предварительно заполняются пробелами. Отключить использование маски можно, записав в свойство IsMasked значение False. В такой ситуации можно задать значение свойства MaxLength, определяющего максимально допустимую длину вводимого текста. Для получения текущей длины содержимого текстового поля во время работы программы (которое реально отличается от содержимого свойства EditText, форматируемого автоматически), надо обратиться к методу GetTextLen. Метод VatidateEdit выполняет проверку корректности введенной пользователем и информациии генерирует исключительную ситуацию EDBEditError в случае несоответствия введенного текста указанной маске.
Компонент Рамка (TBevel) Используется для создания рамок и отдельных линий оформления. Напоминает панель, но не предназначен для группировки элементов. Свойство Shape (Образ) может принимать одно из следующих значений. Таблица 4.37. Значения свойства Shape Значение Форма рамки bsBox Прямоугольник. Область внутри него отображается в соответствии со значением свойства Style bsFrame Прямоугольник. Внутренняя область не изменяется bsTopLine Для выделенной области показывается только верхняя граница bsBottomLine Для выделенной области показывается только нижняя граница bsL.eftL.ine Для выделенной области показывается только левая граница bsRightLine Для выделенной области показывается только правая граница bsSpacer Рамка не отображается. Значение используется разработчиками на этапе проектирования для выделения областей под собственные нужды
Дополнительно в свойстве Style указывается форма окаймляющих линий панели: bsLowered (вдавленные линии) или bsRaised (выпуклые линии).
Компонент Постоянный текст (TStaticText) Основное отличие этого компонента от ранее рассмотренного компонента TLabel только в том, что он позволяет взять выводимый текст в рамку. Форма рамки определяется свойством BorderStyle, которое может принимать одно из трех значений: sbsNone (кайма отсутствует), sbsSingle (кайма представляет собой обычную линию), sbsSunken (кайма имеет вид вдавленной области).
Компонент Фигура (TShape) Этот компонент предназначен для отображения на форме различных геометрических фигур. Конкретная форма геометрического объекта задается в свойстве Shape. Возможны следующие значения. Таблица 4,38. Значения свойства Shape Значение Форма фигуры stCircle Круг st Ellipse Эллипс stRectangle Прямоугольник stRoundRect Прямоугольник со скругленными углами stRoundSquare Квадрат со скругленными углами stSquare Квадрат
Цвет фигуры (рис. 4.3) определяется кистью объекта (свойство Brush), границы фигуры — карандашом (свойство Реn).
Компонент Разделитель (TSplitter) С помощью этого компонента клиентская область формы может быть разделена на несколько панелей, размеры которых допускается изменять, просто перетаскивая границы этих панелей. Активное применение разделителя в первых 32-разрядных программах для Windows 95 в свое время послужило хорошим стимулом развития технологии стыковки. Создание разделителя выполняется в системе Delphi 7 довольно оригинально. Рассмотрим пример, когда область формы надо разделить на три части, как в некоторых программах, предназначенных для приема электронной почты. В левой части располагается список почтовых папок, справа — список всех писем выбранной папки, а в верхней части —текущее письмо. Каждую часть представим в виде панели. Порядок применения разделителя достаточно строгий. В первую очередь на форме помешаются объекты, которые выравниваются по границам формы, вслед за каждым объектом сразу устанавливается разделитель, а последний объект выравнивается по всей оставшейся клиентской области. На пустой форме размешаем компонент TPanel, его свойству Align (Выравнивание) задаем значение alLeft (по левой границе формы). Затем на форму устанавливается компонент TSplitter, который сразу автоматически выровняется по правой границе объекта Panell. Следующим снова размещаем компонент TPanel, который выравниваем уже по верхней границе формы — в свойство Align записываем значение аГГор. Опять добавляем компонент TSplitter, который теперь автоматически выравнивается по нижней границе объекта Panel2. В заключение, на свободную часть формы помещаем третий компонент TPanel, который выравнивается по всей оставшейся клиентской части — свойство Align принимает значение alClient (рис. 4.4), Если теперь откомпилировать и запустить программу, то, переместив курсор на область одного из разделителей и нажав левую кнопку мыши, можно произвольно менять размеры каждой из областей (панелей). Насколько близко к границам окна (в пикселах) можно приближать разделители, определяется в свойстве MinSize каждого объекта Spliter. Свойство Beveled определяет, будет ли разделитель выглядеть объемным (для этого свойство должно иметь значение True). Свойство ResizeStyle задает способ отображения на экране процесса перетаскивания разделителя. Оно может принимать одно из следующих значений. Таблица 4.39. Значения свойства ResizeStyle
|