Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга о KOL.doc
Скачиваний:
29
Добавлен:
30.04.2019
Размер:
1.77 Mб
Скачать

2.23.3. Доступность и видимость

Enabled - свойство "окно разрешено", т.е. реагирует на мышь и клавиатуру (обычно при этом оно еще и меняет свой стиль визуального оформления, если "не разрешено", чтобы показать пользователю, что нажимать на него бесполезно в данный момент). Важный момент: хотя устанавливая свойство Enabled в false, мы тем самым "запрещаем" автоматически и все его дочерние оконные объекты, тем не менее, внешнее оформление для дочерних объектов само меняться не будет, следует воспользоваться методом EnableChildren, чтобы обеспечить визуализацию недоступности для всех дочерних объектов);

EnableChildren( e, recursive ) - разрешает или запрещает объект вместе с дочерними по отношению к нему объектами (если recursive = true, то рекурсивно перечисляются все дочерние элементы всех нижележащих уровней);

Visible - свойство "окно видимое". На самом деле, задает потенциальную видимость окна, т.е. действует точно так же, как и в VCL для TwinControl. При значении Visible, равном true, окно будет и в самом деле видимым, только когда все его родительские объекты являются видимыми. А в случае, если один из родителей является объектом типа tab control, то требуется еще, чтобы в нем была выбрана в качестве текущей именно та закладка, на которой расположен данный объект, вместе со всеми промежуточными родительскими объектами;

ToBeVisible - свойство для чтения "окно и впрямь видимое", в этом свойстве как раз устраняется недостаток свойства Visible, и учитывается, являются видимыми все родительские объекты, и выбраны в качестве текущей все закладки в tab control - родителях, на которых лежит данный объект;

CreateVisible - это свойство задает, будет ли объект делаться видимым непосредственно в момент создания, по умолчанию это свойство имеет значение false, что обеспечивает минимальное количество перерисовок в момент создания формы и первого ее отображения на экране;

Show - метод для отображения окна, и его активации, т.е. передачи клавиатурного фокуса окну объекта (обычно данный метод используется, по аналогии с VCL, для "показа" формы, но он же может быть с успехом использован и для любого визуального объекта, особенно для объекта, способного принимать ввод с клавиатуры, поэтому я и привожу этот метод здесь);

Hide - скрывает окно (эквивалентно присваиванию значения false свойству Visible);

OnShow - событие, которое срабатывает каждый раз, когда окно объекта становится видимым. Я подчеркнул, потому что иногда бывает необходимость выполнить какие-либо действия при первом показе формы, например, но программист забывает сделать проверку того, что форма действительно отображается сейчас именно в первый раз (а не во второй, третий, и все последующий разы). Важная деталь: когда окно становится видимым в результате показа родительского окна (например, формы), данное событие не срабатывает;

OnHide - событие, которое срабатывает, когда окно становится невидимым. Так же, как и событие OnShow, срабатывает только при изменении видимости (т.е. свойства Visible) самого окна, и не реагирует на изменение видимости оконных родителей;

BringToFront - метод для перевода визуального (оконного) объекта на передний план (т.е. если он частично или полностью заслонен другими объектами, то он выходит на передний план, и сам становится перекрывающим их полностью или частично);

SendToBack - метод, обратный BringToFront. Порядок перекрытия окон меняется таким образом, что окно данного объекта уходит на самый задний план по сравнению с соседними окнами.