Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Цель: Изучение компонентов многостраничных панелей 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. Русифицировать названия полей таблицы (см. рекомендации к выполнению контрольных работ).

 

  Переход на первую запись   Удалить запись
  Переход на предыдущую запись   Редактировать запись
  Переход на следующую запись   Сохранить изменения
  Переход на последнюю запись   Отменить изменения
  Добавить запись   Перечитать таблицу

 

Результатом выполнения данной лабораторной работы являются созданный согласно заданию программный продукт. Выполненное задание должно быть предъявлено преподавателю в электронном виде. В ходе защиты лабораторной работы студент должен продемонстрировать свои навыки работы с изученными компонентами и методами проектирования интерфейса пользователя.

 


Date: 2015-12-12; view: 619; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию