Учись программированию на C++ Builder бесплатно!

В библиотеке VCL имеется компонент Frame - фрейм, который помогает поддерживать стилистическое единство приложения. Он представляет собой нечто среднее между панелью и формой. С формой его роднит то, что он:
- проектируется отдельно, как самостоятельное окно;
- имеет свой модуль файл .cpp;
- имеет возможности наследования, причем даже более широкие, чем у формы, так как может наследоваться даже внутри одного приложения;
- может включаться в Депозитарий и использоваться так же, как и форма, включая наследование.

С панелью фрейм роднит то, что он:
- не является самостоятельным окном Windows и может отображаться только на форме или другом контейнере;
- имеет свойства, методы, события, подобные панели, а не форме.

Фрейм - это панель, т.е. некий фрагмент окна приложения, но способный переноситься на разные формы, в разные приложения и допускающий использование преимуществ наследования. Начать проектирование нового фрейма можно командой File | New | Frame или командой File | New | Other и выбором пиктограммы Frame на странице New окна Депозитария. В обоих случаях перед вами откроется окно фрейма, подобное окну формы.

Если нужно ввести переменную, общую для всех объектов фреймов, ее надо объявить со спецификатором static. Например:

static int А;

В этом случае надо не забыть инициализировать эту переменную вне объявления класса, например, оператором:

int TFrame2::А = 0;

Здесь для доступа к статической переменной использовано имя класса TFrame2 и бинарная операция разрешения области действия "::". Если не сделать такой инициализации, то будет выдано сообщение компилятора о неразрешенной внешней ссылке и программа не будет скомпилирована.
На фрейм можно так же, как на форму, переносить и размещать любые компоненты, устанавливать их свойства, писать обработчики их событий и т.п.

Поделиться