Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава II Компоненты Delphi.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
239 Кб
Скачать
☆

Компонент SpeedButton

Кнопки TSpeedButton используются при конструировании панели инструментов. Например, в приложении Microsoft Word под главным меню располагаются кнопки без надписей, но с разными изображениями, нажатие на которые приводит к выполнению какого-либо действия, вот это и есть объекты типа TSpeedButton. Эти кнопки отличаются от TBitBtn тремя обстоятельствами: во-первых, в них не предусмотрен вывод надписи, во-вторых, они могут фиксироваться в утопленном состоянии и, в-третьих, они не могут закрыть модальное окно. Во всем остальном они повторяют свойства и методы TBitBtn.

Для фиксации кнопка должна быть отнесена к какой-либо группе кнопок (эта группа может состоять из нее одной – вариант одиночной фиксируемой кнопки). Для этого используется свойство GroupIndex : integer, которое должно быть равно 0. Поведение кнопки определяется логическим свойством AllowAllUp: если это свойство имеет значение True, утопленная кнопка отпускается только при нажатии любой другой кнопки, входящей в ту же группу; если AllowAllUp=False, кнопку можно освободить повторным щелчком. Индикатором состояние кнопки служит логическое свойство Down, которое имеет значение True, если кнопка утоплена. Свойство доступно для записи, что позволяет изменять состояние кнопки программно.

Для кнопки TSpeedButton предусмотрено событие OnDblClick, которое возникает при двойном щелчке на утопленной кнопке.

Компонент MaskEdit

Специализированный редактор TMaskEdit предназначен для ввода текста, соответствующего некоторому шаблону, задаваемому свойством EditMask : String. Если это свойство не задано, TMaskEdit полностью аналогичен компоненту страницы STANSARD TEdit. Свойство IsMascked : Boolean доступно только для чтения и содержит True, если строка шаблона задана. Свойство EditText : String содержит текст до наложения на него маски шаблона (т.е то, что ввел пользователь), а свойство Text : String – может содержать либо исходный текст, либо результат наложения на него маски шаблона.

Шаблон состоит из трех частей, отделенных друг от друга символами «;». Первая часть задает маску ввода, вторая – это символ «0» или «1», определяющий, записывается ли в Text результат наложения маски или исходный текст (“0” – исходный текст). В третьей части указывается символ, который в окне редактора будет стоять в полях, предназначенных для ввода символов. Текст в редакторе может содержать символы маски; например, для ввода семизначного номера телефона текст в начале ввода может выглядеть так:

(095)XXX-XXXX

где доступные для ввода пользователя поля указаны символом “X”)

Маска состоит их описателей полей ввода, специальных символов и литералов. Описатель указывает. какой именно символ может ввести пользователь в данное поле (описатель всегда описывает поле единичной длины, т.е. рассчитанное на ввод одного символа). Литерал вставляется в текст, показываемый в окне редактора, но при вводе курсор перескакивает через литерал и не дает пользователю возможности изменить его. Литералами считаются любые символы, кроме описателей полей и специальных символов, а также любой символ, которому предшествует символ «\». Специальные символы формируют дополнительные указания редактору.

Описатели полей ввода представлены ниже:

Символ

Поле…

Символ

Поле…

Символ

Поле…

L

Должно содержать

Букву

a

может содержать

букву или цифру

0

должно содержать цифру

L

может содержать

букву

C

должно содержать любой символ

9

может содержать цифру

A

должно содержать

букву или цифру

c

может содержать

любой символ

#

может содержать цифру, а также символы «+» или «–».

Специальные символы:

Символ

Значение

\

Следующий символ – литерал. Позволяет вставить в маску литералы из символов описателей полей ввода и специальных символов.

:

На это место вставляется символ-разделитель Windows для часов, минут, секунд.

/

На это место вставляется символ-разделитель Windows для полей даты.

;

Разделитель частей шаблона.

!

Подавляет все ведущие пробелы.

>

Все следующие за ним поля ввода преобразуют буквы к заглавным.

<

Все следующие за ним поля ввода преобразуют буквы к строчным

<>

Отменяет преобразование букв.

Если не все требуемые поля ввода заполнены и компонент лишился фокуса ввода, возникает исключительная ситуация EDBEditError, на экран выводится окно с сообщением и после закрытия окна выводится окно с сообщением и после закрытия окна текстовый курсор устанавливается на позицию, где закончился правильный ввод.

Компонент Image

Этот компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растровой картинки, пиктограммы или метафайла. В свойстве Canvas компонента содержится канва, с помощью которой при необходимости программа может отредактировать растровое изображение (но не пиктограмму или метафайл!).

Компонент Shape

Этот компонент рисует на форме одну из простейших геометрических фигур, определяемых следующим множеством:

type TShapeType = (stRectangle, stSquare, stRoundRect, stRoundSquare,

stEllips, stCircle);

(прямоугольник, квадрат, скругленный прямоугольник, скругленный квадрат, эллипс, окружность). Фигура полностью занимает все пространство компонента. Если задан квадрат или круг, а размеры элемента по горизонтали и вертикали отличаются, то фигура чертится ч размером меньшего измерения.

Помимо стандартных чертежных инструментов Brush и Pen (шрифт для компонента не нужен), компонент имеет свойство Shape: TShapeType, которое и определяет вид геометрической фигуры. Изменение этого свойства приводит к немедленной перерисовке изображения.

Компонент Bevel

Компонент класса TBevel носит оформительский характер и предназначен для выделения группы элементов или отделения их друг от друга.

Свойство

Type TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine,

bsLeftLine, bsRightLine);

property Shape : TBevelShape;

определяет вид компонента (прямоугольник, рамка, верхняя линия, нижняя линия, левая линия, правая линия). Свойство

Type TBevelStyle = (bsLowered, bsRaised);

property Shape : TBevelStyle;

задает стиль компонента (вдавленный или выпуклый).

Компонент ScrollBox

Этот компонент служит контейнером для размещения других компонентов. Его отличительная особенность – возможность прокрутки. Это просто прямоугольник с полосами прокрутки по краям в который можно помещать другие компоненты. Он используется в целях экономии пространства формы. Однако, ввиду того, что такой тип представления крайне неудобен для пользователя, этот элемент почти не применяется.

Компонент CheckListBox

Подобно тому, как RadioGroup представляет из себя группу зависимых кнопок, данный компонент представляет собой группу независимых переключателей CheckBox и к любому из них можно обратиться по индексу.

Свойства компонента:

Имя свойства

Тип свойства

Описание

AllowGrayed

Boolean

разрешает/запрещает использовать в переключателях третье состояние cbGrayed(не знаю)

Checked[Index : integer]

Boolean

Содержит выбор пользователя типа Да/Нет для

переключателя с индексом Index. Состояние cbUnchecked и cbGrayed отражаются как False.

Sorted

Boolean

Сортирует по алфавиту надписи на переключателях.

State[Index :

integer]

TcheckBoxState

Содержит состояние переключателя с индексом Index.

Для компонента определено событие OnClickCheck, которое наступает при изменении любого из переключателей.

3. Страница WIN 32

Страница WIN 32 содержит интерфейсные элементы для 32-разрядных операционных систем (О. С.) Windows 95/NT.

4. Страница SYSTEM

На этой странице представлены компоненты, которые имеют различное функциональное назначение, в том числе компоненты, поддерживающие стандартные для Windows технологии межпрограммного обмена данными OLE (Object Linking and Embedding – связывание и внедрение объектов) и DDE(Dynamic Data Exchange – динамический обмен данными).

5. Страница INTERNET

Компоненты этой страницы обеспечивают средства связи программы с INTERNET.

6. Страница DATA ACCESS

В Delphi развиты средства построения так называемых клиент- серверных приложений, рассчитанных на работу электронными архивами (базами данных). 11 комплектов страницы DATA ACCESS облегчат доступ программ к базам данных. В версиях 3.0 и 4.0 реализована концепция многоуровневого доступа к данным.

7. Страница DATA CONTROLS

Компоненты страницы DATA CONTROLS представляют собой модификации стандартных интерфейсных элементов применительно к работе с базами данных. Они обслуживают текущий набор данных, доступ к которым реализует один из компонентов Table, Query или Stored Proc в сочетании с компонентом Date Source.

8. Страница DECISION CUBE

На этой странице сосредоточены компоненты, с помощью которых реализуется специальный доступ к многомерным наборам данных. Специфика доступа заключается в том, что пользователь программы получает средства манипуляции многомерным массивом данных по разным измерениям без выполнения повторных запросов.

9. Страница QREPORT

Компоненты страницы QREPORT обеспечивают простой способ создания отчётов по результатам выборки данных из базы данных.

10. Страница DIALOGS

Компоненты страницы DIALOGS реализуют стандартные для Windows диалоговые окна.

11. Страница WIN 3.1

Некоторые из компонентов в функциональном плане повторяют компоненты страниц Data Controls и Win 95, но отличаются от них внешним представлением.

12. Страница SAMPLES

Эта страница содержит компоненты разного назначения.

13. Страница ActiveX

Компоненты ActiveX являются «чужими» для Delphi; они создаются другими инструментальными средствами разработки программ (например, С++ или Visual Basic) и внедряются в Delphi с помощью технологии OLE. На странице ActiveX великое множество компонентов, разрабатываемых повсюду в мире компаниями-производителями программных средств и отдельными программистами.