КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |