
- •Часть 2. Сборник рецептов по визуальному программированию Введение в объектно-ориентированное программирование
- •Создание проекта в VisualStudio
- •Файлы проекта
- •Сведения об объекте
- •Общие свойства всех объектов
- •Класс Form
- •Помещение компонента в форму и прочие действия с дизайнером форм
- •Свойства форм
- •События формы
- •Методы формы
- •Компоненты ввода и отображения текстовой информации Компонент Label
- •Некоторые свойства компонента Label
- •Компонент TextBox
- •Методы TextBox
- •Компонент RichTextBox
- •Ввод числовых значений в компонент TextBox
- •Проверка, введены ли значения
- •Компонент ListBox
- •Компонент ComboBox
- •Ввод данных из файла
- •Компонент MaskedTextBox
- •Кнопки, индикаторы и управляющие элементы Компонент Button
- •Компонент Panel
- •Компоненты RadioButtonиCheckBox
- •Компонент GroupBox
- •Пример. Комплектация автомобиля
- •Работа с меню Главное меню
- •Контекстное меню
- •Создание текстового редактора
- •Системные диалоги
- •Компонент OpenFileDialog
- •Компонент SaveFileDialog
- •Диалог выбора шрифта
- •Диалог выбора цвета
- •Компонент PrintDialog
- •Диалоговые окна в текстовом редакторе
- •Расширенные символы Unicode
- •Работа с графикой Использование графических файлов
- •Создание фотоальбома
- •Методы для рисования на форме и прочих компонентах
- •Работа с таймером
- •Работа с датой и временем
- •Добавление новых форм к проекту
- •Многостраничные панели
- •Способы задания страниц
- •Методы TabControl
Многостраничные панели
Компонент находится в списке Containersпалитры компонентов. Он позволяет построить набор страниц, которые перекрывают друг друга и которые можно перелистывать. Главная ценность таких страниц заключается в том, что они находятся в рамках одной формы, где размещен сам компонентTabControl. На каждую страницу можно помещать другие компоненты, тем самым расширяя возможности формы.
Например, необходимо разработать приложение по управлению кадрами предприятия. Все компоненты, обеспечивающие решение задачи, можно разместить в одной форме, но на разных страницах компонента TabControl, который достаточно поместить в форму. На каждой странице можно разместить разные справочники и, таким образом, организовать ведение справочника, на других страницах можно размещать компоненты для получения аналитических страниц, построения графиков и т.д.
Чтобы переключаться между страницами, достаточно щелкнуть мышью на любой из них.
Самым важным свойством компонента TabControlявляется свойствоTabPages, которое содержит отдельные страницы. Каждая вкладка – это отдельный объектTabPageсо своими свойствами, методами и событиями. При переключении с одной страницы на другую, при щелчке мышью на вкладке, возникает событиеClickдля объектаTabPage.
Способы задания страниц
Для работы с компонентом, необходимо поместить его в форму и открыть диалоговое окно TabControl Tasksс помощью нажатия мышью на стрелке в правом верхнем углу компонента.
В выпадающем меню есть две опции, позволяющие добавлять или удалять страницы. Перемещаться по уже сформированным страницам можно посредством щелчка мышью на вкладке каждой страницы. Если страницы не умещаются в поле компонента, то автоматически формируются кнопки прокрутки.
Если необходимо отключить полосы прокрутки, чтобы видеть все страницы сразу, нужно задать значение свойства MultiLineравнымtrue. Если не все вкладки отображаются в многостраничном режиме, следует установить свойствоWidthдля компонентаTabControlтаким образом, чтобы ширина самого компонента была больше, чем ширина всех его вкладок.
При активации вкладки могут возникнуть проблемы: не всегда удается переключаться с активного компонента TabControlна соответствующую вкладкуTabPage. Если просто щелкнуть по вкладке, станет активным весь компонентTabControl. Если щелкнуть в поле страницы, которую открывает данная вкладка, станет активной именно страница, т.е. объектTabPage.
Расположение вкладок в компоненте TabControlможно менять: помещать их сверху, снизу, справа и слева. Достаточно выбрать соответствующее значение свойстваAlignmentкомпонентаTabControlиз выпадающего списка.TabControlиTabPage– это два разных объекта, каждый из которых можно по-своему настраивать с помощью их собственных свойств и методов. Все, что относится ко всем страницам, находится вTabControl. Все, что относится к отдельной странице, регулируется через компонентTabPage.
Чтобы изменить форму вкладок, нужно воспользоваться свойством AppearanceкомпонентаTabControl– все вкладки могут одновременно изменить форму, а для отдельной вкладки это не имеет место.
Заголовки могут иметь три формы: нормальную, в виде кнопок, в виде таких же кнопок, но разделенных между собой вертикальными полосами.
Более удобным способом задания страниц является свойство TabPages. Если нажать кнопку с многоточием в поле этого свойства, то откроется диалоговое окно для работы со страницами. Здесь можно не только добавлять, удалять, менять местами страницы, но также устанавливать их основные свойства, не обращаясь к окнуProperties.
Обратим внимание на следующие два свойства.
SelectedIndex– это свойство, которое содержит номер активной страницы (если ему присвоить целое значение, то страница с соответствующим номером (отсчет ведется с нуля) станет доступной). Если вTabControlни одна страница не выбрана, то значениеSelectedIndexравно –1.
SelectedTab– представляет собой выбранную страницу (объектTabPage). Если требуется программно открыть страницу, то надо выполнить такую команду (например, для страницы 2 она будет иметь вид):
this->tabControl1->SelectedTab=tabPage2;