C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 56 - Компонент TPageControl / С++ Builder 5 / Borland C++

Шаг 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.


| |
Автор Аванесов Самвел.
[AD]