Визуальное наследование - форма - Большая Энциклопедия Нефти и Газа, статья, страница 1
Никогда не называй человека дураком. Лучше займи у него в долг. Законы Мерфи (еще...)

Визуальное наследование - форма

Cтраница 1


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

Визуальное наследование форм не совсем верно работает с коллекциями: на наследованной форме невозможно развернуть свойство-коллекцию компонента. Это ограничение практически не позволяет использовать такие компоненты, как Toolbars или ListViews. Конечно же, эти компоненты можно использовать в родительских или в унаследованных формах, но вы не сможете раскрыть содержащиеся в них элементы, поскольку они хранятся в виде коллекции. Решение этой проблемы заключается в предотвращении назначения этих коллекций в ходе разработки, а воспользоваться для этого можно технологиями времени выполнения.  [2]

При использовании визуального наследования форм эта строка кода, автоматически добавляемая Delphi, соответствует вызову унаследованного обработчика события базового класса. Однако в данном случае для обеспечения стандартного поведения фрейма необходимо вызвать обработчик события и применить его к определенному экземпляру - к самому объекту фрейм. Текущая форма не содержит этот обработчик события и ничего не знает о нем. Оставите ли вы этот вызов на месте или удалите его - зависит от необходимого эффекта.  [3]

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

Основная форма содержит панель инструментов с несколькими кнопками ( реальные панели инструментов имеют ряд проблем с визуальным наследованием форм), меню и компонент OpenDialog. Они также изменяют настройки компонента OpenDialog, чтобы те соответствовали различным типам файлов.  [5]

Вы уже видели, что при необходимости наличия в приложении двух одинаковых форм для производства одной формы от другой или обоих от общего предка можно ьоспользоваться визуальным наследованием форм. Преимущество визуального наследования форм заключается в наследовании DFM-определения.  [6]

Вы уже видели, что при необходимости наличия в приложении двух одинаковых форм для производства одной формы от другой или обоих от общего предка можно ьоспользоваться визуальным наследованием форм. Преимущество визуального наследования форм заключается в наследовании DFM-определения.  [7]

Когда необходимо создать две и более схожие формы ( при необходимости - с различными обработчиками), можно воспользоваться динамическими технологиями, прятать и создавать новые компоненты во время выполнения, изменять обработчики событий и использовать выражения if или case. Либо воспользоваться такой объектно-ориентированной технологией, как визуальное наследование форм, Кратко говоря: вместо создания форм, основанных на классе TForm, можно выполнить наследование от существующей формы, добавив новые компоненты или изменив свойства существующих компонентов.  [8]

Иногда необходимо, чтобы несколько форм придерживались общего поведения или отвечали на одинаковые команды, не имя каких-либо общих компонентов или элементов пользовательского интерфейса. В этом случае более рациональным является использование визуального наследования форм с использованием базовой формы, не содержащей дополнительных компонентов. Я предпочитал бы определить свой собственный класс формы, унаследованный от TForm, а затем вручную отредактировать объявления классов форм для наследования именно от этого класса, а не от стандартного. Если необходимо лишь определить общие методы или перекрыть соответствующим образом виртуальные методы класса TForm, то лучше определить пользовательский класс формы.  [9]

В главе 8 мы продолжим исследовать всю структуру приложения Delphi, обратив особое внимание на роли двух глобальных объектов: Application и Screen. Также рассмотрим развитие интерфейс MDI для более полного изучения расширенных возможностей форм, например, визуального наследования формы. Кроме того, будут обсуждены фреймы, которые являются сходными с формами контейнерами визуальных компонентов.  [10]

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



Страницы:      1