Материал: Программирование на языке высокого уровня Лекции 09.03.01

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

#include.

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

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

Standart - стандартные компоненты для создания интерфейса (кнопки, списки, поля ввода и т.д.);

Additional - дополнительная группа стандартных компонентов (рисунки, геометрические фигуры и т.д.);

Win32 - интерфейсные элементы, характерные для Windows 95 (панели состояния, календарь, индикаторы выполнения и т.д.)

 

System

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

 

файлов мультимедиа и т.д.;

Internet - компоненты для создания Web-приложений;

 

Data

Access - компоненты, позволяющие получить доступ к

 

объектам для работы с базами данных, то есть таблицами,

 

запросами и т.д.;

 

Data

Controls - компоненты, используемые для отображения

данных в виде таблицы, поля ввода и т.д.;

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

Decision Cube - компоненты для построения многомерных таблиц и их графических отображений;

Qreport - компоненты для создания отчетов;

Программирование на языке высокого уровня 09.03.01

56

Dialogs - элементы для вызова диалоговых окон общего назначения, предоставляемых операционной системой Windows (открытие, сохранение, печать файлов и т.д.).

Укаждого компонента существуют свойства, которые определяют

его внешний вид и поведение. Часть свойств устанавливается по умолчанию. Для установки свойств компонентов или изменения их значений используются редакторы свойств, которые бывают следующих типов:

строка ввода - позволяет вводить новые значения для числовых и буквенных строк;

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

диалоговая панель - в колонке значений установлена кнопка с

многоточием

и

это

означает,

что

установка

значения

производится путем выбора на панели;

 

 

 

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

Для нескольких компонентов можно установить разделяемое

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

Размер компонента можно изменить, причем существует возможность сделать это в момент размещения компонента; компоненты можно копировать, группировать и выравнивать.

Помимо свойств с компонентами связаны методы - специальные функции. Так как компонент по своей сути это класс, а образ компонента на форме - представитель класса, то обратиться к такой функции-элементу можно используя знак указателя на объект. Например, Edit5->Show(). Методы не активируются во время проектирования. Список методов для данного компонента можно узнать, выбрав компонент на форме и нажав клавишу F1.

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

Существует возможность создавать шаблоны компонентов - совокупность компонентов и связанных с ними обработчиков событий. Пиктограммы таких компонентов помещаются на станице Templates палитры компонентов, которая автоматически создается при создании первого шаблона. При размещении такого компонента на форме на ней окажутся все компоненты, вошедшие в шаблон. Если исходные компоненты имели обработчики событий, то их код также

Программирование на языке высокого уровня 09.03.01

57

будет сгенерирован. При этом компоненты, помещенные на форму в составе шаблона, остаются отдельными компонентами.

Компонент TMainMenu невидим и позволяет описать главное меню формы. Самым важным свойством этого компонента является свойство Items, при помощи которого задается список элементов меню, имеющих единственное событие OnClick, которое возникает при нажатии левой клавиши мышки над компонентом.

Компонент TPopupMenu позволяет создать контекстное меню для того или иного интерфейсного элемента. Он также имеет средство Items для задания списка элементов меню. У многих интерфейсных элементов форм имеется свойство PopupMenu, значением которого может быть имя компонента класса TPopupMenu. В этом случае при нажатии правой клавиши мыши при нахождении курсора над

соответствующим

интерфейсным

элементом

возникнет

заранее

заданное контекстное меню.

 

 

 

Компонент TLabel предназначен для отображения статического текста на форме. Отображаемая строка символов задается при помощи средства Caption. На возможность отображения текста в несколько строк влияет установка свойства Word Wrap, а на правила выравнивания текста - установка свойства Alignment. Для приспособления размера метки к фактическому размеру, занимаемому текстом, используется свойство AutSize.

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

Для работы с многострочными текстами используется компонент Tmemo. Его содержимым является массив строк, доступ к которому осуществляется при помощи свойства Lines, которое имеет два важных подсвойства - массив строк Strings и число строк, находящихся в поле ввода - Count.

Для включения в программу стандартных кнопок Windows используется компонент TButton, самым важным из событий которого является OnClick. Если программист хочет изменить цвет текста на

такой кнопке, то надо менять

настройки в операционной системе

или выбирать другие компоненты.

 

Управляющий элемент для

выбора одного из двух возможных

значений называется TCheckBox. Поясняющий текст для такого элемента задается в свойстве Caption, а для проверки, установлен ли флаг используется свойство Checked. Такую проверку обычно производят при наступлении события OnClick.

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

Программирование на языке высокого уровня 09.03.01

58

контейнеров TGroupBox или TPanel. Их отличие в том, что первый из контейнеров только предлагает для группы компонентов общий заголовок, а второй позволяет произвести определенную настройку внешнего вида для набора компонентов. Так как из набора радиокнопок можно выбрать только одну, то каждая из радиокнопок, входящая в состав группы, "знает" о состоянии своих соседей. Для организации нескольких наборов переключателей используется компонент TRadioGroup.

Для организации стандартного выбора, то есть для выбора одного элемента из списка, используется компонент TListBox. Строковый массив элементов для выбора задается в свойстве Items, а номер выбранного элемента содержится в свойстве Itemindex, причем случаю, когда ни один элемент не выбран соответствует значение -1. Для редактирования содержимого списка используются стандартные методы - Add, Insert, Delete.

В случаях, когда пользователю помимо возможности выбора из списка предоставляется возможность ввода собственного значения, следует использовать компонент TComboBox. Для обеспечения пользовательского ввода наряду со свойством Items имеется и свойство Text.

Для прокручивания содержимого окна используется компонент TScrollBar. Для реакции на прокрутку используется событие OnScroll. Существует возможность установить, как будет передвигаться движок прокрутки при нажатии на линейку и на стрелки, расположенные в концах прокрутки.

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

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

Компонент TMaskEdit предназначен для ввода пользовательской информации, но разрешает вводить только ту информацию, которая соответствует заранее заданному шаблону. Шаблон задается в редакторе свойства EditMask. Существуею стандартные шаблоны для ввода даты, времени, номера телефона и т.д.

Для работы с таблицей, элементами которой являются символьные строки используется компонент TStringGrid. Доступ к

Программирование на языке высокого уровня 09.03.01

59

ячейкам осуществляется при помощи свойства Cells и операции индексирования, причем на первом месте стоит номер столбца. Номер текущих строки и столбца хранится в свойствах Row и Col, а количество строк и столбцов таблицы определяется свойствами

RowCount и ColCount.

Если помимо текста в ячейках необходимо размещать и графическую информацию, то следует использовать компонент TDrawGrid. В этом компоненте нет свойства Cells, а для перерисовки ячейки используется метод DrawCell(), на входе которого указываются координаты ячейки, подлежащей перерисовке.

Для включения в форму произвольных графических изображений используется компонент TImage. С помощью свойства Picture вызывается редактор картинок, с помощью которого можно выбрать графический файл для загрузки. Размер компонента можно приспособить к размеру изображения с помощью свойства AutoSize.

Для рисования геометрических фигур используется свойство TShape. Тип фигуры задается в свойстве Shape, за прорисовку границы фигуры отвечает свойство Pen, а за заливку - свойство

Brush.

На панели Additional имеется еще один тип контейнера для группировки компонентов - компонент TBevel. В свойстве Share можно задавать тип фигуры, в форме которой задается рамка, а при помощи свойства Style задается стиль - выпуклый или вдавленный.

Иногда какой-либо объект, расположенный на форме, не

помещается в

отведенное ему

место. Существует возможность

включения в

форму области

TScrollBox, которая способна

осуществлять скроллинг содержащегося в ней объекта.

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

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

Для создания контейнера свойства ActivePage, число страниц - в свойстве PageCount. Номер страницы задается в свойстве

PageIndex.

Для выбора целых значений из определенного интервала используется компонент TUpDown. С ним ассоциируется компонент, в который вводится выбранное значение. Имя этого компонента определяется при помощи свойства Associate. Минимальное, максимальное и текущее значение параметра, устанавливаемого с помощью компонента, задается свойствами Min, Max и Position.

Программирование на языке высокого уровня 09.03.01

60

Источник: https://studfile.net/preview/16415559/