Глава 15

Свойства, методы, события,
типы. классы

В этой главе слова и термины, выделенные подобным образом, означают, что
вы можете найти в этой главе раздел, содержащий развернутые пояснения выде-
ленных терминов.

Определения свойств, методов, типов и, особенно, структур в приведенном в
данной главе тексте несколько изменены и упрощены по сравнению с документа-
цией C++Builder, чтобы читателю проще было в них ориентироваться. Например,
опущены ссылки на методы записи и чтения свойств, которые не представляют ин-
тереса для пользователя, кардинально сокращены объявления многих структур —
в них оставлены только имена и типы полей, устранены многие промежуточные
ссылки на типы. Удалены также для компактности спецификаторы _fastcall, ко-
торые присутствуют во всех объявлениях функций.

15.1 Некоторые общие сведения
15.1.1 Z-последовательность

Все дочерние компоненты в оконном элементе располагаются в Z-последовате-
льности. Она определяет последовательность индексов компонентов в свойстве
Controls родительского элемента. Для перекрывающихся компонентов (располага-
ющихся друг на друге) Z-последовательность определяет также, какой из них бу-
дет виден. Виден тот, который расположен в этой последовательности выше.

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

Изменить Z-последовательность в процессе проектирования можно выполне-
нием команд Bring To Front или Send To Back. Первая из них пересылает выделенный
компонент наверх, присваивая ему максимальный индекс, а вторая пересылает
вниз, присваивая ему минимальный индекс (0 для неоконных компонентов и ми-
нимально возможный для оконных). Выполнить эти команды, выделив предвари-
тельно нужный компонент, можно или из раздела меню Edit, или щелкнув правой
кнопкой мыши и выбрав их из всплывающего меню.

Программно место компонента в Z-последовательности можно изменить мето-
дами BringToFront и SendToBack.

На Z-последовательность влияют также методы InsertControl и RemoveCont-
rol, добавляющие и удаляющие дочерние компоненты, и изменение свойства ком-
понентов Parent, меняющее родителя компонента.

Изменение Z-последовательности автоматически вызывает при необходимости
перерисовку компонентов, если видимость перекрывающихся компонентов изме-
няется. Если переносимый вниз компонент имел фокус, то он его потеряет при пе-
реносе.