Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Ishodniki.Ru » Online книги » C++ Builder по шагам

Шаг 56 - Компонент TPageControl.

Этот компонент позволяет во время проектирования объединить на форме несколько вкладок-страниц с РАЗНЫМИ компонентами в них. То есть каждая страница может являться родителем других компонентов.

Ну, за примером ходить далеко не надо. Например, Project-Options. Другой пример - property sheets файлов. Правда, там все это дело создается во время исполнения. На самом деле это очень удобно для создания чего-то вроде диалога настроек. Куда ни кинь, везде эти самые диалоги. Правда, не всегда удобно получается. Взять тот же самый Project-Options. Я когда первый раз это безобразие увидел... В общем сбиться очень легко. Вкладки в три ряда, щелкнешь по одной - другие полчаса искать. Это пример т.н. "недружественного интерфейса". Лучше было бы использовать TreeView - дерево. К сожаления, редко его таким образом используют. Ну например... в Опере. Или в ДримВивере. Я им правда не пользуюсь, но слышал :).

Теперь как обычно - свойства и методы... Дело в том, что TabControl и PageControl имеют общего предка - TCustomTabControl. То есть свойства, совпадающие у обоих компонентов, действуют практически одинаково. Думаю, те же самые свойства рассматривать не буду, только новые.

  • ActivePage - Указатель на активную (выбранную) страницу элемента управления. Если свойство это поменять, то соответственно изменится и активная страница.
  • ActivePageIndex - Надо подумать... :)) Вспомнил!!! Это индекс активной страницы...
  • PageCount - Хм... Количество страниц.
  • Pages - Свойство типа массив, состоит из указателей на подшивки - TTabSheet*

И методы...

  • FindNextPage - Описание:
    TTabSheet* __fastcall FindNextPage(TTabSheet* CurPage, bool GoForward, bool CheckTabVisible);

    Ищет (возможно, даже находит...) следующую страницу после текущей, указанной свойством CurPage. GoForward определяет направление поиска, а CheckTabVisible - разрешено ли отображение вкладки. Ищет циклично, то есть если это последняя страница, возвращается первая, и наоборот. NULL никогда не вернет :)).

  • SelectNextPage - Описание:
    void __fastcall SelectNextPage(bool GoForward);

    Переключается на следующую страницу. GoForward опять-таки определяет направление.

  • UpdateActivePage - Функция void и по возвращаемому значению, и по параметрам. Обновляет текущую страницу.

Существуют возможности редактироания компонента во время проектирования. Для этого есть контекстное менб компонента:

gif/56_1.gif (1423 b)

Надо обратить внимание на то, что если нажать по корешкам вкладок, то будет выделен сам TTabControl, если же по центру, о текущая активная TTabSheet страница. Компоненты кидаются на компонент как обычно. Напоследок порекомендую для диалога настроек хотя бы свойство MultiLine делать false.

 

Предыдущий шаг | Оглавление | Следующий шаг

Рассылка новостей
Информация прокат сноубордов у нас на сайте.
Рейтинги
© 2007, Программирование Исходники.Ру