- •Среда разработки приложений Delphi
- •Рекомендуемая литература:
- •Сохранение файлов приложения
- •Панель инструментов
- •Палитра компонентов — vcl (Visual Component Library)
- •Vcl представляет собой набор компонентов, разделенных по категориям. Порядок и количество категорий зависит от версии и редакции программного продукта Delphi и настройки опций при инсталляции.
- •Практика
- •Инспектор объектов (Object Inspector)
- •Практика
- •Родители и владельцы
- •Практика
- •Общие свойства компонентов
- •Типы файлов Delphi
Родители и владельцы
Практика
Выделите указателем мыши панель, расположенную на нашей форме и увеличьте ее размер, потянув за один из черных квадратиков, расположенных по углам компонента. Положите на панель еще одну кнопку. А теперь попробуйте стащить мышью эту кнопку с панели. У вас ничего не получится, так как панель в данном случае стала для кнопки родителем. Чтобы ее лишить этого права, нужно кнопку сначала вырезать (например, используя комбинацию Ctrl+X) и только потом поместить ее в другое место, предварительно указав на него мышью.
У каждого компонента есть родитель (Parent). Им может быть форма или другой оконный компонент. В процессе выполнения приложения можно узнать родителя того или иного компонента по его свойству Parent. Это свойство можно изменять только во время выполнения. Здесь следует сказать, что помимо указанных свойств у компонентов имеются еще так называемые свойства времени выполнения. Они становятся доступны только в процессе работы приложения, в Инспекторе Объектов этих свойств нет. Их изменение или обращение к ним возможно лишь путем изменения кода программы.
Дочерний компонент может наследовать многие свойства своего родителя. Например, при установлении значения свойства ParentFont:=true дочерний компонент наследует от родительского атрибуты шрифта. Наследуемыми свойствами являются также свойства Visible и Enabled. При перемещении границ родительского компонента (свойства Left и Top) будут синхронно перемещаться и все его дочерние компоненты. Уничтожьте в процессе проектирования родителя и тем самым вы уничтожите все его дочерние компоненты.
Еще одно важное свойство компонентов Owner — владелец данного компонента. Свойство Owner устанавливается в момент создания компонента в процессе выполнения приложения. Владелец компонента — это тот компонент, при уничтожении которого (освобождении занимаемой им памяти) уничтожится и данный компонент. Этим и ограничивается связь между владельцем и компонентом, которым он владеет.
По умолчанию родителем и владельцем всех компонентов, размещенных на форме, является сама форма. Но если в процессе проектирования компонент размещается не непосредственно на форме, а на другом оконном компоненте, например, на панели, то родителем для него становится эта панель.
Все дочерние компоненты в оконном элементе располагаются в так называемой Z-последовательности. Для перекрывающихся компонентов (располагающихся друг на друге) Z-последовательность определяет, какой из них будет виден. Виден тот, который расположен в этой последовательности выше.
Обычно последовательность компонентов соответствует той, в которой они помещались на форму. Однако неоконные компоненты, например, метки, лежат в Z-последовательности ниже любых оконных компонентов, таких как панели и кнопки.
Свойства компонентов
Важнейшим свойством любого компонента является его имя. Возьмите себе за правило изменять имя компонента сразу же после помещения его на форму.
Свойство Name — имя компонента, по которому на него ссылаются другие компоненты.
Свойство Name определяет имя компонента, которое используется при написании кода. Задается только в процессе проектирования и не должно изменяться во время выполнения.
По умолчанию Delphi сама присваивает имена компонентам, размещаемым на форме. Эти имена по умолчанию надо изменять в процессе проектирования на осмысленные. Иначе при сколько-нибудь сложной форме вы сами через некоторое время не сможете понять, что такое Panel7 или Button13. Например, кнопку, при нажатии на которую будет происходить запуск счета можно назвать так: ButtonRun или ButRun. Всегда оставляйте префикс, дающий хотя бы намек на название используемого компонента.
Особое место занимают имена используемых форм, и подробнее о них будет сказано позже.
Свойство Caption — заголовок. Определяет текст, идентифицирующий компонент для пользователя.
Свойство Caption связывает с компонентом некоторую строку текста, поясняющую его назначение. Чаще всего это надписи на кнопках, метках, тексты разделов меню и т.д. (см., например, рис. 2).
Рис.2.
Часто по умолчанию Caption совпадает с именем компонента — свойством Name и изменяется при его изменении. Значение этого свойства может изменяться во время работы приложения.