TFrame – рама и шаблоны компонентов
Этот компонент впервые введен в Delphi 5. Он определяет раму – контейнер для размещения других компонентов. В функциональном отношении компонент почти повторяет свойства формы и отличается от нее, в основном, лишь тем, что его можно помещать на формы или в другие рамы. Фактически рама представляет собой удобное средство создания шаблонов – произвольных наборов компонентов, максимально приспособленных для нужд конкретного пользователя. Раз созданный шаблон может подобно любому другому компоненту размещаться на форме или другой раме (допускается неограниченная вложенность рам). Любые изменения в базовой раме (т.е. в раме, сохраненной в палитре) тут же отображаются во всех проектах, использующих данную раму.
Первоначально проекту ничего неизвестно о, возможно, ранее созданных рамах, поэтому попытка поместить на пустую форму компонент-раму вызовет сообщение:
No frames in project. To create a frame select File | New Frame.
(В проекте нет рам. Чтобы создать раму выберите File | New Frame.)
Это сообщение и описываемая ниже методика подключения шаблонов – единственное, что отличает механизм использования шаблонов от использования стандартных компонентов.
Создадим простую раму, содержащую две кнопки – mbOk и mbCancel. Такой шаблон может пригодиться при конструировании различных диалоговых окон.
1. Создадим новый проект (File| New Application).
2. Создайте новую раму – выберите File | New Frame.
3. Поместите на раму две кнопки TBitBtn и установите следующие свойства для кнопок и рамы:
Установленные параметры создадут минимальную по размерам раму с двумя именованными кнопками. Так как свойство Anchors рамы содержит значения [akRight, akBottoms], рама будет все время отслеживать свое положение относительно правого нижнего угла контейнера, в который она будет помещена.
4. Щелкните по раме правой кнопкой мыши и выберите в локальном меню Add To Palette – на экране появится диалоговое окно с предложением сохранить модуль шаблона в дисковом файле.
5. Сохраните шаблон в файле с именем DlgBtnsF в папке для ваших программ. На экране появится окно регистрации шаблона в палитре компонентов. В окне предлагается установить для нового компонента имя класса и страницу палитры компонентов, в которую он помещен. Обратите внимание на автоматически созданное умалчиваемое имя заготовки – TFrame1Tamplate. Так как это имя будет появляться в ярлычке Hint при высвечивании компонента мышью, следует дать ему более осмысленное имя, например, TDialogButtons. И еще одно замечание: в качестве страницы палитры компонентов в окне предлагается страница Templates (шаблоны), которая отсутствует в начальном наборе страниц палитры. Если вы сохраните это имя, в Delphi будет создана новая страница компонентов.
6. Задайте имя класса шаблона и страницу его размещения, после чего щелкните по кнопке ОК - шаблон готов для использования.
7. После закрытия окна регистрации сам шаблон останется на экране. Подобно дополнительной форме его модуль стал составной частью проекта, поэтому размещение шаблона на форме не вызовет проблем.
8. Щелкните по пиктограмме на странице Standard палитры компонентов и затем по пустому месту в форме Form1 - на экране появится окно с предложением выбрать нужный шаблон. Нажмите Enter, и шаблон появится в форме так, как если бы это был любой другой компонент.
Следует отметить, что, если вы откроете новый проект и попытаетесь разместить на форме раму со страницы Standard, на экране вновь появится сообщение о том, что в проекте нет рам. Однако если вы присоедините модуль DlgBtnsF к проекту клавишами Shift-F11. Если в новом проекте попробовать установить на пустую форму компонент-шаблон со страницы Templates (или с любой другой страницы, куда он был ранее помещен на этапе регистрации), на экране появится окно с такой надписью:
Дата добавления: 2016-06-15; просмотров: 2260;