Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
###ПЗ_ЯН_ЧАОnew.doc
Скачиваний:
9
Добавлен:
31.08.2019
Размер:
2.7 Mб
Скачать

5.3 Описание свойств, методов и событий классов

При разработке программного продукта были использованы некоторые стандартные компоненты интегрированной среды разработки (IDE) Borland C++ Builder 6.0, определяемые соответствующими классами, объединенные в таблице 5.2. Далее будут рассмотрены свойства, методы и события соответствующих классов, использованные при разработке программы.

Таблица 5.2 – Использование классов

Класс

Назначение в программе

TForm

Экранные формы интерфейса с пользователем (стандартные окна, диалоговые панели, панели сообщений).

TMainMenu

Главное меню программы.

TBitBtn

Кнопки управления “Закрыть”, “Обновить”, “Провести” и т.д.

TStaticText

Текстовый заголовок.

TCheckBox

“Флажки” для задания режимов конфигурирования .

TListBox

Список для выбора предмета обучения.

TLabel

Текстовые “ярлыки” для оформления экранных форм.

TEdit

Поля для ввода и редактирования входных данных.

TMemo

Для отображения протокола

TStringGrid

Отображение таблицы данных на стандартном окне.

TRadioButton

“Флажки” для переключения способа поиска информации

TGroupBox

Окно для размещения рисунка

TComboBox

Всплывающее меня в окне

TMenuItem

Выплывающее меню на главном окне

TImage

Смена графических изображений

TTable

Таблица БД, содержащая данные о продукции, контрагентах и документах.

TIBDatabase

Компонент подключения к БД.

TDBNavigator

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

TIBTable

Компонент TIBTable реализует все возможности стандартного компонента, инкапсулирующего таблицу.

TIBQuery

Компонент TIBQuery выполняет все стандартные функции компонента запроса.

Начнем описание компонентов с основного – формы.

Работа над новым проектом, так в С++ называется разрабатываемое приложение, начинается с создания стартовой формы. Так на этапе разработки программы называют диалоговые окна.

Стартовая форма создается путем изменения значений свойств формы Form1 и добавления к форме необходимых компонентов (полей ввода и вывода текста, командных кнопок).

Свойства формы (таблица 5.3) определяют ее внешний вид: размер, положение на экране, текст заголовка, вид рамки.

Для просмотра и изменения значений свойств формы и ее компонентов используется окно Object Inspector. В верхней части окна Object Inspector указано имя объекта, значения свойств которого отображается в данный момент. В левой колонке вкладки Properties (Свойства) перечислены свойства объекта, а в правой – указаны их значения.

Таблица 5.3 – Свойства формы (объекта TForm)

Свойство

Описание

Name

Имя формы. В программе имя формы используется для управления формой и доступа к компонентам формы

Caption

Текст заголовка

Width

Ширина формы

Height

Высота формы

Top

Расстояние от верхней границы формы до верхней границы экрана

Left

Расстояние от левой границы формы до левой границы экрана

BorderStyle

Вид границы. Граница может быть обычной (bsSizeable), тонкой (bs Single) или отсутствовать (bsNone). Если у окна обычная граница, то во время работы программы пользователь может при помощи мыши изменить размер окна. Изменить размер окна с тонкой границей нельзя. Если граница отсутствует, то на экран во время работы программы будет выведено окно без заголовка.

Borderlcons

Кнопки управления окном. Значение свойства определяет, какие кнопки управления окном будут доступны пользователю во время работы программы. Значение свойства задается путем присвоения значений уточняющим свойствам biSystemMenu, biMinimaze, biMaximaze И biHelp. Свойство biSystemMenu определяет доступность кнопки Свернуть и кнопки системного меню, biMinimaze— кнопки Свернуть, biMaximaze— кнопки Развернуть, biHelp — кнопки вывода справочной информации

Продолжение таблицы 5.3

Icon

Значок в заголовке диалогового окна, обозначающий кнопку вывода системного меню

Color

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

Font

Шрифт. Шрифт, используемый "по умолчанию" компонентами, находящимися на поверхности формы. Изменение свойства Font формы приводит к автоматическому изменению свойства Font компонента, располагающегося на поверхности формы. То есть компоненты наследуют свойство Font от формы (имеется возможность запретить наследование)

При создании формы в первую очередь следует изменить значение свойства caption (Заголовок). В нашем примере надо заменить текст Form1 на “скорость бега”. Чтобы это сделать, нужно в окне Object Inspector щелкнуть мышью на строке Caption, в результате чего будет выделено текущее значение свойства, в строке появится курсор, и можно будет ввести.

Аналогичным образом можно установить значения свойств Height и width, которые определяют высоту и ширину формы. Размер формы и ее положение на экране, а также размер других элементов управления и их положение на поверхности формы задают в пикселах, т. е. точках экрана. Свойствам Height и width надо присвоить значения 250 и 330 соответственно.

Форма – это обычное окно. Поэтому его размер можно изменить точно так же, как размер любого другого окна, т. е. захватом и перемещением (с помощью мыши) границы. По окончании перемещения границ автоматически изменятся значения свойств Height и width. Они будут соответствовать установленному размеру формы.

Положение диалогового окна на экране после запуска программы соответствует положению формы во время ее разработки, которое определяется значением свойств Тор (отступ от верхней границы экрана) и Left (отступ от левой границы экрана). Значения этих свойств также можно задать путем перемещения окна формы при помощи мыши.

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

Некоторые свойства являются сложными, т. е. их значение определяется совокупностью значений других (уточняющих) свойств. Перед именами сложных свойств стоит значок “+”, при щелчке на котором раскрывается список уточняющих свойств. Например, свойство BorderIcons определяет, какие кнопки управления окном будут доступны во время работы программы. Так, если свойству biMaximize присвоить значение False, то во время работы программы кнопки Развернуть в заголовке окна не будет.

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

Далее рассмотрим описание с общих свойств, присущих визуальным компонентам.

Свойство Align

Задает тип выравнивания компонента внутри формы. Может иметь одно из следующих значений:

  • AlNone – выравнивание не используется;

  • AlTop – компонент перемещается в верхнюю часть формы и его ширина становится равной ширине формы;

  • AlBottom - компонент перемещается в нижнюю часть формы и его ширина становится равной ширине формы;

  • AlLeft - компонент перемещается в левую часть формы и его высота становится равной высоте формы;

  • AlRight - компонент перемещается в правую часть формы и его высота становится равной высоте формы;

  • AlClient- компонент полностью занимает всю рабочую область формы.

Свойство Color

Задает цвет фона формы или цвет компонента или графического объекта.

Свойство Ctl3D

Позволяет задать вид компонента. Если значение этого свойства равно False, компонент имеет 2-мерный вид, иначе – 3-мерный (значение по умолчанию).

Свойство Cursor

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

Свойство DragCursor

Позволяет определить вид курсора мыши, который будет отображаться, когда в компонент “перетаскивается” другой компонент. Значения этого свойства те же, что и у свойства Cursor.

Свойство DragMode

Позволяет определить режим поддержки протокола Drag and Drop. Возможны следующие значения:

  • DmAutomatic – компонент можно “перетаскивать”, “зацепив” мышью;

  • DmManual – компонент не может быть “перетащен” без вызова метода BeginDrag.

Свойство Enabled

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

Свойство Font

Многие визуальные компоненты используют шрифт по умолчанию. При создании компонента изначальное значение этого свойства имеет следующие значения:

Таблица 5.4 – Значения свойств экранных шрифтов

Свойство

Значение

Color

ClWindowText

Height

*

Свойство

Значение

Name

System

Pitch

FpDefault

Size

10

Style

[]

Свойство Height

Это свойство задает вертикальный размер компонента или формы.

Свойство HelpContext

Задает номер контекста справочной системы. Этот номер должен быть уникальным для каждого компонента. Если компонент активен, нажатие клавиши F1 приводит к отображению экрана справочной системы.

Свойство Hint

Задает текст, который будет отображаться при обработке события OnHint, происходящего, если курсор находится в области компонента.

Свойство Left

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

Свойство ParentColor

Это свойство позволяет указать, каким цветом будет отображаться компонент. Если значение этого свойства равно True, компонент использует цвет родительского компонента. Если же значение свойства равно False, компонент использует значение собственного свойства Color.

Свойство PopupMenu

Это свойство задает название локального меню, которое будет отображаться при нажатии правой кнопки мыши. Локальное меню отображается только в случае, когда свойство AutoPopup имеет значение True или когда вызывается метод Popup.

Свойство TabOrder

Задает порядок получения компонентами фокуса при нажатии клавиши Tab. По умолчанию этот порядок определяется размещением компонентов в форме – первый компонент имеет значение этого свойства, равное 0, второй – 1 и так далее.

Свойство Top

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

Свойство Visible

Это свойство позволяет определить, видим ли компонент на экране. Значением этого свойства управляют методы Show и Hide.

Свойство Width

Это свойство задает вертикальный размер компонента или формы.

Теперь остановимся на каждом из используемых классов и рассмотрим его особенности.

Экранная форма (класс TForm)

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

Форма обладает такими свойствами, как наличие заголовка, кнопок для вызова системного меню, максимизации и минимизации окна и рамки, позволяющей динамически изменять размер формы. Текст заголовка определяется содержимым свойства Caption. По умолчанию оно эквивалентно содержимому свойства Name и включает текст “Form X”, где Х=1 для первой формы приложения, 2 – для второй и так далее.

Тип кнопок, отображаемых справа и слева от заголовка, задается свойством BorderIcons. По умолчанию отображаются все три кнопки (вызов системного меню, кнопка минимизации и кнопка максимизации).

Тип рамки задается свойством BorderStyle. По умолчанию используется значение bsSizeAble – форма может изменять свой размер. Также допустимо указание следующих значений:

  • BsDialog – рамка диалоговой панели;

  • BsSingle – тонкая рамка;

  • BsNone – рамка отсутствует.

Помимо стандартных форма обладает рядом свойств, характеризующих ее как обычное окно Windows. Свойство Position определяет местоположение формы на экране. По умолчанию форма располагается в том месте экрана и имеет те размеры, что были заданы при ее создании. Допустимы следующие значения этого свойства:

  • PoDefault - форма располагается в том месте экрана и имеет те размеры, которые задаются С++;

  • PoDesigned - форма располагается в том месте экрана и имеет те размеры, что были заданы при ее создании

  • PoDefaultPosOnly – используется размер, заданный при создании формы, но позиция выбирается С++;

  • PoDefaultSizeOnly – используется местоположение, выбранное при создании формы, но ее размер определяется С++;

  • PoScreenCenter - используется размер, заданный при создании формы, но располагается она в центре экрана.

Свойство WindowState позволяет задать начальный способ отображения формы (окна). Возможны три значения этого свойства:

  • WsMaximazed;

  • WsMinimazed;

  • WsNormal (значение по умолчанию).

Среди других свойств формы как окна можно выделить следующие:

  • Color – предназначено для задания цвета фона;

  • HorzScrollBar – задает горизонтальную полосу прокрутки;

  • VertScrollBar – задает вертикальную полосу прокрутки.

На главное меню указывает свойство Menu.

Значение свойства FormStyle позволяет определять MDI – окна. Для этого необходимо установить значение указанного свойства fsMDIForm. Значение этого свойства для дочернего окна –fsMDIChild.

Активное MDI – окно описывается при этом свойством ActiveMDI, а меню для управления дочерними окнами задается свойством WindowMenu.

Главное меню (класс TMainMenu)

Интерфейсный элемент, называемый меню, предусмотрен стандартными соглашениями по требованию к интерфейсам прикладных программ и используется практически во всех Windows – приложениях. В Windows поддерживается два типа меню – строчное и всплывающее. Строчное меню (описываемое компонентом MainMenu) может содержать ряд вложенных меню. Всплывающее меню описывается компонентом PopupMenu. Для создания меню в С++ предусмотрено специальное средство – дизайнер меню.

Кнопка с графикой (класс TBitBtn)

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

Метка с бордюром (класс TStaticText)

Данный компонент подобен компоненту Label, но обеспечивает возможность задания стиля бордюра – BorderStyle.

Кнопка с независимой фиксацией (класс TCheckBox)

Кнопка с независимой фиксацией позволяет пользователю выбрать или отменить определенную опцию. С помощью группы кнопок с независимой фиксацией можно выбрать несколько опций. Для выбора взаимоисключающих опций используются кнопки с зависимой фиксацией. Состояние кнопки содержится в свойстве Checked. При включении или отключении кнопки происходит событие OnClick. Свойство State позволяет установить значение кнопки. Кнопка может находится во включенном состоянии, выключенном состоянии или в неактивном состоянии. Возможность находиться в неактивном состоянии задается значением свойства AllowGrayed.

Выбор из списков (TListBox)

Компонент ListBox отображает списки строк и позволяет пользователю выбрать в них нужную строку. Основное свойство компонента – Items. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings – Clear, Add и другими. Этот же класс позволяет поставить в соответствие каждой строке некоторый объект. Тогда выбор пользователем строки в списке можно программно соотносить с этим объектом.

Статический текст (класс TLabel)

С помощью статического интерфейсного элемента создаются заголовки для других интерфейсных элементов, разделители для групп элементов и др. Элемент этого типа обычно используется, когда необходимо отобразить текст, который не может быть отредактирован пользователем, например заголовков компонентов, которые не имеют собственного свойства Caption. Для отображения текста, который можно изменять используются компоненты Edit или Memo.

Строка редактирования (класс TEdit)

Строка редактирования – это прямоугольное окно, в котором возможен ввод и редактирование текста. Поддерживаются операции выделения текста, копирования, удаления, а также возможность ввода нескольких строк текста. Строка редактирования представлена двумя компонентами – Edit для однострочного редактора и Memo – для многострочного.

Многострочное окно редактирования (класс TMemo)

Данный компонент позволяет отображать, вводить и редактировать многострочные тексты. В компоненте Memo формат (шрифт, его атрибуты, выравнивание) одинаков для всего текста и определяется свойством Font.

Таблица строк (класс TStringGrid)

Данный компонент представляет собой таблицу, содержащую строки. Данные таблицы могут быть только для чтения или редактируемыми. Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и не прокручиваться. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента. Каждой ячейке таблицы может быть поставлен в соответствие некоторый объект.

Навигатор (класс TDBNavigator)

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

  • First – перейти к первой записи;

  • Prior – перейти к предыдущей записи;

  • Next – перейти к следующей записи;

  • Last – перейти к последней записи;

  • Insert – вставить новую запись;

  • Delete – удалить текущую запись;

  • Edit – редактировать текущую запись;

  • Post – утвердить результат изменения записи;

  • Cancel – отменить изменения в текущей записи;

  • Refresh – освежить информацию в наборе данных.