Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. 1. Огляд поняття елементи з закладками




1. Огляд поняття елементи з закладками

2. Характеристика властивостей компонента елементи з закладками

В данном занятии будут рассмотрены управляющие элементы с закладками, имеющие несколько страниц, перемещение между которыми осуществляется пользователем путем выбора заклад­ки соответствующей страницы с помощью мыши.

В Delphi существуют компоненты TabControl (Одностраничный блокнот) и PageControl (Многостраничный блокнот), кото рые обеспечивают возможность работы с подобными элементами. Кроме того, в Delphi представлены еще такие элементы с заклад­ками, как TabSet, TabbedNotebook и Notebook, которые использу­ются для обеспечения совместимости с программами, разработан­ными в среде Windows 3.x (однако в данной книге они рассматри­ваться не будут).

По своей сути компоненты TabControl и PageControl являются контейнерами, которые могут содержать другие компоненты, объ­единенные в группы.

Одностраничный блокнот TabControl. Компонент TabControl

представляет собой прямоугольную область с набором за­кладок, переключение между которыми происходит автоматиче­ски при выборе одной из них. Одностраничный блокнот назван так потому, что он имеет одну общую страницу для всех закладок, и все действия по изменению отображаемой информации в зави­симости от выбранной пользователем закладки должны осуществ­ляться программно. Для этого программисту необходимо создать обработчики событий OnChange или OnChanging.

Событие OnChange возникает при активизации страницы, а со­бытие OnChanging - перед активизацией. Поэтому с помощью об­работчика события OnChanging можно заблокировать переключе­ние страниц, если не выполнено какое-либо необходимое условие.

Одностраничный блокнот, как правило, используется в тех случа­ях, когда требуется создать приложение, где закладки играют роль группы зависимых переключателей, и при выборе каждой новой за­кладки общая структура отображаемых на странице компонентов остается без изменения, а меняется только их содержимое. Например, при создании календаря на год, где с помощью закладок осуществля­ется переход между разными месяцами, будут изменяться только данные в таблице, а набор строк и столбцов остается прежним.

Рассмотрим важнейшие свойства одностраничного блокнота.

Свойство Style (тип TTabStyle) определяет стиль, кото­рым будет отображаться компонент TabControl. Данное свойство может принимать одно из трех значений:

tsTabs - стандартные закладки объемного вида;

tsButtons - закладки в виде кнопок;

tsFlatButtons - закладки в виде плоских кнопок.

В том случае, если закладка имеет вид кнопки, у нее отсутст­вует ограничивающая рамка, которая при необходимости должна быть создана вручную с использованием компонентов фаски (Bevel) или панели (Panel).

Свойство Tabs (тип TString) содержит список всех закладок и дает возможность обращаться к каждой из них по индексу. Дан­ное свойство доступно для редактирования с помощью Инспекто­ра объектов.

Свойство MultiLine (тип Boolean) определяет, могут ли закладки отображаться в виде нескольких строк. Когда данное свойство имеет значение True, то закладки будут располагаться на нескольких строках, если не помещаются в одну строку. В про­тивном случае закладки будут размещаться на одной строке, и если они не помещаются полностью, то в правой части данного компонента появляются стрелки, с помощью которых можно осуществлять прокрутку закладок.

Свойство TabPosition (тип TTabPosition) определяет расположение закладок в различных местах одностраничного блокнота: вверху, внизу, справа или слева.

Свойство ScrollOpposite (тип Boolean) задает поведе­ние закладок при выборе в случае, когда они размещаются в нескольких строках (имеет смысл только в случае, когда свой­ству MultiLine присвоено значение True). Если свойство ScrollOpposite имеет значение True, то строка с выбран­ной закладкой автоматически перемещается в первый ряд. В противном случае такого перемещения не происходит. При установке данному свойству значения True свойство Multi-Line также автоматически устанавливается в True.

Свойство TabWidth (тип Small In t) устанавливает ширину закладок в пикселях.

Свойство TabHeight (тип Smalllnt) задает высоту закла­док в пикселях.

По умолчанию свойства TabWidth и TabHeight имеют зна­чение 0, то есть размеры закладки устанавливаются автоматиче­ски в зависимости от длины названия.

Свойство Tablndex (тип Integer) содержит номер выбран­ной закладки компонента TabControl. С помощью изменения зна­чения данного свойства можно совершать программное переклю­чение между закладками.

Свойство HotTrack (тип Boolean) установленное в True, за­дает режим подсветки заголовка закладки синим цветом в момент, когда на нее наведен указатель мыши. Свойство Images (тип TCustomlmageList) дает возмож­ность отображать на закладках графические изображения из спис­ка ImageList, ссылка на который задается в качестве значения дан­ного свойства. Рисунки из списка будут распределяться в соответ­ствии с номерами закладок в списке свойства Tabs.

Пример 9.3. Пусть необходимо создать приложение с использо­ванием компонента TabControl, который бы позволял переключаться между закладками с названиями стран и получать в таблице инфор­мацию о столице, валюте, территории и населении данной страны.

Решение. На первом этапе на форму добавляется компонент TabControl. Затем поверх него помещается таблица StringGrid.

В редакторе свойства Tabs для компонента TabControl вно­сятся названия стран, которые будут отображаться в виде закла­док одностраничного блокнота (см. рис. 9.6). Свойству Multi-Line присваивается значение True.

 

Таблица будет содержать два столбца и четыре строки, поэто­му для компонента StringGrid значение свойства ColCount уста­навливается равным 2, а свойства RowCount - равным 4. Число фиксируемых строк, определяемое свойством FixedRows, зада­ется равным 0.

Во время выполнения программы пользователь имеет возмож­ность получить краткую справочную информацию о стране, выбирая соответствующую закладку одностраничного блокнота TabControl.

При этом следует отметить, что заголовки строк таблицы задают­ся при создании формы и при изменении страницы не переопреде­ляются. В обработчике события OnChange компонента TabControl.

выполняется только внесение необходимых данных о стране во вто­рой столбец таблицы в зависимости от выбранной закладки.

Ниже показано, как программно реализуется решение постав­ленной задачи. Сведения о странах вносятся в разделе констант (const) в виде массива типа PChar. Дальнейшее заполнение таблицы осуществляется на основе совпадения названия выбран­ной закладки с соответствующим элементом данного массива.

 

Многостраничный блокнот PaseControl.

Компонент PageControl является управляющим элементом, включающим на­бор из нескольких страниц, размещаемых одна под другой. Каж­дая страница имеет закладку, которая является неотъемлемой ча­стью данной страницы, в отличие от одностраничного блокнота. Страницы используются для объединения различных управляю­щих элементов в группы, обеспечивая их компактное размещение и простое переключение между ними.

Многостраничный блокнот является более сложным управляю­щим элементом, чем компонент TabControl, однако многие свойства этих двух элементов совпадают. Поэтому будут рассмотрены только свойства, специфичные для компонента PageControl.

Свойство ActivePage (тип TTabSheet) определяет назва­ние текущей (выбранной) страницы компонента PageControl.

Свойство ActivePagelndex (тип Integer) служит для опре­деления индекса текущей страницы.

С помощью свойств ActivePage и ActivePagelndex можно программно устанавливать новую активную страницу.

Свойство PageCount (тип Integer) используется для опре­деления общего количества страниц многостраничного блокнота.

Свойство Pages [Index: Integer] (тип TTabSheet) содержит полный список всех страниц управляющего элемента PageControl. Доступ к любой странице блокнота по ее номеру можно получить путем использования данного свойства во время выполнения приложения. Порядковый номер страницы задается параметром Index.

Добавление и удаление страниц, а также перемещение между страницами компонента PageControl в процессе проектирования приложения осуществляется с помощью вызова контекстного меню (нажатием правой кнопки мыши в поле компонента) и дальнейшего выбора соответствующего пункта этого меню. Перемещаться между страницами можно также простым нажатием на закладке необходи­мой страницы. Это возможно, потому что каждая страница (включая закладку) является отдельным независимым объектом.

На практике данный компонент очень часто используется при создании окон настроек параметров приложения.

Контрольні питання

1. Навести огляд поняття елементи з закладками

2. Надати характеристику властивостей компонента елементи з закладками

3. Навести поняття та властивості одно сторінкового блокноту.


САМОСТІЙНА РОБОТА СТУДЕНТА

ЗМІСТОВИЙ МОДУЛЬ 1: ОСНОВНІ ПОНЯТТЯ ТА ОЗНАЧЕННЯ. ЕЛЕМЕНТИ МОВИ. КЕРУВАННЯ ПРОЦЕСОМ ОБЧИСЛЕНЬ

ТЕМА 1.4: ЕЛЕМЕНТИ ІНТЕРФЕЙСУ

 

Самостійне заняття №8 – Список графічних образів




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 357; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.