Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методическое пособие для самостоятельных работ.doc
Скачиваний:
22
Добавлен:
16.11.2019
Размер:
2.89 Mб
Скачать

6) Окно регистрации рамы в палитре компонентов

Установленные параметры создадут минимальную по размерам раму с двумя именованными кнопками. Так как свойство Anchors рамы содержит значения [akRight, akBottoms], рама будет все время отслеживать свое положение относительно правого нижнего угла контейнера, в который она будет помещена.

Щелкните по фрейму (раме) правой кнопкой мыши и выберите в локальном меню Add To palette - на экране появится диалоговое окно с предложением сохранить модуль шаблона в дисковом файле.

Сохраните шаблон в файле с именем, DigBtnsF в папке для ваших программ. На экране появится окно регистрации шаблона в палитре компонентов, показанное на рис. 3.1, б. В окне предлагается установить для нового компонента имя класса и страницу палитры компонентов, в которую он помещен. Обратите внимание на автоматически созданное умалчиваемое имя Заготовки - TFramelTamplate. Т. к. это имя будет появляться в ярлычке Hint при высвечивании компонента мышью, следует дать ему более осмысленное имя, например, TDialogButtons. И еще одно замечание - в качестве страницы палитры компонентов в окне предлагается страница Templates (шаблоны), которая отсутствует в начальном наборе страниц палитры. Если вы сохраните это имя, в Delphi будет создана новая страница компонентов.

Задайте имя класса шаблона и страницу его размещения, после чего щелкните по кнопке Oк - шаблон готов для использования.

После закрытия окна регистрации сам шаблон (рис. 3.1, а) останется на экране. Подобно дополнительной форме его модуль стал составной частью проекта, поэтому размещение шаблона на форме не вызовет проблем.

Щелкните по пиктограмме на странице Standard палитры компонентов и затем по пустому месту в форме Form1 - на экране появится окно с предложением выбрать нужный шаблон (рис. 3.2, а). Нажмите Enter, и шаблон появится в форме так, как если бы это был любой другой компонент (рис. 3.2, б). Следует отметить, что, если вы откроете новый проект и попытаетесь разместить на форме фрейм со страницы Standard, на экране вновь появится сообщение о том, что в проекте нет фреймов. Однако, если вы присоедините модуль DlgBtnsF к проекту клавишами Shift+F11, установка шаблона на любую форму проекта приведет к появлению окна 3.2, а. Если в новом проекте попробовать установить на пустую форму компонент-шаблон со страницы Templates (или с любой другой страницы, куда он был ранее помещен на этапе регистрации), на экране появится окно с такой надписью:

The following unit: DigBtnsF, is needed in your project to create the template. Do you wish to add it?

(Модуль DlgBtnsF необходим в вашем проекте, чтобы создать шаблон. Хотите его добавить?)

a) б)

Рис.3.2. а) окно выбора доступного шаблона; б) форма с размещенным на ней шаблоном

Свойства входящих в шаблон компонентов, а также свойства самого размещенного на форме шаблона можно менять, приспосабливая их к конкретным нуждам программы.

Компонент TFrame является потомкам TScrollingWinControl, от которого ему достались три описываемых ниже специфичных свойства (остальные свойства, события и методы унаследованы от RWin-Control):

Свойства

Описание

property AutoScroll: Boolean;property HorzScrollBar: TControlScrollBar;

Определяет свойства горизонтальной полосы прокрутки

property VertScrollBar: TControlScrollBar;

Определяет свойства вертикальной полосы прокрутки

Класс TControlScrollBar, к которому принадлежат свойства HorzScrollBar и VertScrollBar, устанавливает все необходимые свойства и методы для полос прокрутки.

Свойства TControlScrollBar:

Свойства

Описание

property Margin: Word; 

Определяет минимальное расстояние от полосы до края компонента, в котором она расположена

property ButtonSize: Integer;

Определяет размер кнопок полосы прокрутки

property Color: TColor;

Определяет цвет полосы

type=(sbHorizontal,sbVertical) ; property Kind: ScrollBarKind;

Указывает ориентацию полосы (это свойство - только для чтения)

type TScrollBarInc = 1..32767; property Increment: TScrollBarInc;

Указывает перемещение бегунка при щелчке мышью на концевой кнопке полосы

property ParentColor: Boolean;

 

Если содержит True, цвет полосы определяется системными установками Windows. Установка значения в свойство Color приводит к автоматической установке значения False в свойство ParentColor

property Position: Integer; 

Определяет положение бегунка на полосе прокрутки

property Range: Integer;

Определяет размер скроллируемой области

property ScrollPos: Integer; 

Определяет положение скроллируемой области

property Size: Integer;

Определяет ширину полосы в пикселях

property Smooth: Boolean;

 

Если содержит True, прокрутка осуществляется стандартным образом: щелчок по концевой кнопке вызывает смещение приблизительно на 1/10 части всей прокручиваемой области. Если содержит False, смещение определяется свойством Increment

TScrollBarStyle = (ssRegular,

ssFlat, ssHotTrack);

Определяет стиль полосы: ssRegular обычная полоса; ssFlat - плоская полоса;

property Style: TScrollBarStyle; 

 

ssHotTrack - плоская полоса, ее компоненты выделяются цветом при перемещении над ней указателя мыши

property ThumbSize: Integer;

Определяет ширину бегунка в пикселях

property Tracking: Boolean;

Разрешает/запрещает динамическую прокрутку при перемещении ползунка

property Visible: Boolean;

Определяет видимость полосы