Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2019-07-12 | 156 |
5.00
из
|
Заказать работу |
|
|
Цель: Изучение компонентов многостраничных панелей TabControl и PageControl.
Краткие теоретические сведения.
Многостраничные панели позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания. Каждая создаваемая вами страница компонента TabControl и PageControl является объектом типа TTabSheet. Это панель, на которой можно размещать любые управляющие компоненты, окна редактирования и т.п.
Страница имеет следующие основные свойства:
Name | Имя, по которому можно ссылаться на страницу |
Caption | Надпись, которая появляется на ярлычке закладки |
PageIndex | Индекс страницы, по которому можно ссылаться на страницу |
ImageIndex | Индекс изображения, которое может появляться на ярлычке закладки |
Из общих свойств компонента TabControl и PageControl можно отметить:
Style | Определяет стиль отображения компонента: tsTabs — закладки, tsButtons — кнопки, tsFlatButtons — плоские кнопки. |
MultiLine | Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд. |
TabPosition | Определяет место расположения ярлычков закладок: tpBottom — внизу, tpLeft — слева, tpRight — справа и tpTop — вверху компонента. |
TabHeight и TabWidth | Высота и ширина ярлычков закладок в пикселях. Если значения этих параметров заданы равными 0, то размеры ярлычков определяются автоматически по размерам надписей на них |
Images | Ссылка на компонент ImageList, который содержит список изображений на ярлычках. Свойства ImageIndex страниц содержат индексы, соответствующие именно этому списку |
ScrollOpposite | Определят способ перемещения закладок при размещении их в несколько рядов. |
ActivePage | Имя активной страницы |
Pages[Index: Integer] | Доступ к странице по индексу (первая страница имеет индекс 0). Свойство только для чтения |
PageCount | Количество страниц. Свойство только для чтения |
|
Принципиальное отличие компонента TabControl от PageControl заключается в том, что TabControl не имеет множества панелей (страниц). Компонент представляет собой одну страницу с управляющим элементом типа кнопки со многими положениями. И надо написать соответствующие обработчики событий OnChanging и OnChange, чтобы определить, что именно должно происходить на панели при переключениях закладок пользователем. У компонента имеется еще одно свойство — MultySelect, позволяющее множественный выбор закладок. Если это свойство установлено в true, то в обработчиках событий надо описать реакцию на такой выбор пользователя.
Число закладок и их надписи определяются свойством Tabs типа TStrings. В нем вы можете задать надписи закладок. Сколько строчек надписей вы укажете, столько будет закладок. Текущее состояние переключателя определяется свойством TabIndex. Вы можете установить его в процессе проектирования, чтобы определить исходное состояние переключателя. А затем в обработчиках событий OnChanging и OnChange можете читать это свойство, чтобы определить, что именно выбрал пользователь.
Визуальные иневизуальные компоненты для создания СУБД в среде Delphi, а также методы создания таблиц БД описаны в методических указаниях к выполнению контрольных робот и в конспекте лекций.
Ход работы
Рассмотрим процесс создания приложения, имитирующего записную книжку со списком телефонов. Вид готового приложения будет следующим:
1. Создадим при помощи DataBase DeskTop таблицу notebook.db со следующими полями (процесс создания таблиц и псевдонимов подробно описан в рекомендациях по выполнению контрольных заданий)
Имя поля | Тип поля | Описание |
Name | Alpha[25] | Фамилия, инициалы |
Phone | Alpha[18] | Номер телефона |
Note | Alpha[40] | Для заметок |
2. Поместим на форму следующие компоненты: TabControl (вкладка Win32), DBGrid, DBNavigator (вкладка Data Controls), Table (вкладка BDE), DataSource (вкладка Data Access).
|
Зададим свойству Align компонентов TabControl значение alClient (на все окно).
В свойстве Tabs компонента TabControl введем буквы алфавита:
Для того, чтобы закладки располагались сверху – вниз, справа – налево, зададим свойству Anchors компонента TabControl значения:
akLeft -true
akTop -true
akRight - true
akBottom – true
MultiLin=true
3. Установим компонентам следующие свойства:
Table:
· DatabaseName (псевдоним базы данных) – выбираем из списка свой Alias.
· TableName – выбираем имя своей таблицы.
· AutoRefresh (обновление структуры таблицы) – устанавливаем значение true.
· Active – устанавливаем true – подключаем таблицу.
DataSource:
· DataSet (источник данных) – выбираем Table1.
DBGrid, DBNavigator:
· свойству DataSource устанавливаем значение DataSource1.
· Align (выравнивание): DBGrid – alClient (на все окно), DBNavigator – alBottom (внизу окна).
4. Создадим обработчик OnChange компонента TabControl:
procedure TForm1.TabControl1Change(Sender: TObject);
begin
table1.Filter:='Name='''+TabControl1.Tabs[TabControl1.TabIndex]+'*''';
end;
Фильтрация ведется по совпадению первой буквы фамилии. При выборе закладки автоматически формируется выражение фильтра, включающее в себя название (букву) выбранной закладки и символ «*».
5. Свойству Filtered компонента Table установим значение True.
Чтобы фильтрация выполнялась независимо от регистра букв и по частичному совпадению установим параметры свойства Filtered компонента Table следующим образом:
foCaseInsensitive – True
foNoPartialCompare – False
Для того, чтобы сразу же после загрузки приложения компоненты появлялись в отсортированном виде, для свойства OnCreate формы выберем из списка TabControl1Change.
Выполнить самостоятельно:
1. Создать всплывающие подсказки (Hint) для каждой из кнопок DBNavigator
2. Русифицировать названия полей таблицы (см. рекомендации к выполнению контрольных работ).
1 | Переход на первую запись | 6 | Удалить запись |
2 | Переход на предыдущую запись | 7 | Редактировать запись |
3 | Переход на следующую запись | 8 | Сохранить изменения |
4 | Переход на последнюю запись | 9 | Отменить изменения |
5 | Добавить запись | 10 | Перечитать таблицу |
Результатом выполнения данной лабораторной работы являются созданный согласно заданию программный продукт. Выполненное задание должно быть предъявлено преподавателю в электронном виде. В ходе защиты лабораторной работы студент должен продемонстрировать свои навыки работы с изученными компонентами и методами проектирования интерфейса пользователя.
|
|
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!