Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
среда Делфи.doc
Скачиваний:
7
Добавлен:
10.11.2019
Размер:
210.43 Кб
Скачать

Родители и владельцы

Практика

Выделите указателем мыши панель, расположенную на нашей форме и увеличьте ее размер, потя­нув за один из черных квадратиков, расположенных по углам компонента. Положите на па­нель еще одну кнопку. А теперь попробуйте стащить мышью эту кнопку с панели. У вас ничего не получится, так как панель в данном случае стала для кнопки родителем. Чтобы ее лишить этого права, нужно кнопку сначала вырезать (например, используя комбинацию 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 и изменяется при его изменении. Значение этого свойства может изменяться во время работы приложения.