Главная » C++, C++ Builder » Исследуем странички C++ Builder

0

Следующая область в нашей экскурсии по VCL — страничные управляющие элементы (tab controls). Страничные управляющие элементы, или записные книжки, как их часто называют, являются способом отобразить большое количество связанной информации в маленьком пространстве. Такие управляющие элементы впервые появились в Windows 3.1, но использовались не очень часто, пока корпорация Microsoft не начала использовать их в своих приложениях (в основном Word). Страничный управляющий элемент — это метафорическая записная книжка с закладками, которая на одном и том же пространстве содержит множество диалоговых страниц. Когда страница (tab) выбирается, то диалог, относящийся к этой странице, становится видимым, а предыдущий — невидимым. К счастью, с появлением новых компонентов больше не нужно знать, как работает вся эта подсистема; нужно  знать, что  можно делать с помощью этой технологии. Короче, страничные управляющие элементы — прекрасный пример работы компонентной технологии в мире Windows.

Замечание

Исходный   код   для   программы   —   примера   страничного   диалога   находится   в   каталоге

Chapter4\Tabs на прилагаемом компакт-диске.

Простейший способ использовать странички — в страничном диалоге  (tab dialog). Это также и самый естественный способ их использования. Вообще-то странички могут появляться и в главных окнах программ, но это не типично для большинства приложений. Может, в будущем что-то и изменится, но пока вы можете считать страничный диалог стандартом. CBuilder позволяет действительно очень просто создавать страничные диалоги, которые вы потом можете модифицировать по своему вкусу. Это первое приближение, с которого мы начнем работу. Для изначальной генерации страничного диалога вы используете репозиторий (Repository), создавая новый диалог. Выберите File ä New из  главного меню в CBuilder. Выберите закладку Dialogs, найдите элемент Tab Dialog (страничный диалог) и щелкните  на  нем  дважды.  CBuilder сгенерирует новый страничный диалог и добавит его к проекту. Каким образом CBuilder генерирует новый файл и добавляет его к проекту, мы разберем ниже в этой книге.

Форма страничного диалога по умолчанию называется TPagesDlg. Давайте взглянем на заголовочный файл формы и посмотрим, что же именно за вещи составляют страничный диалог:

//——————————————————-

#ifndef Unit2H

#define Unit2H

//——————————————————-

#include <vcl\ExtCtrls.hpp>

#include <vcl\ComCtrls.hpp>

#include <vcl\Buttons.hpp>

#include <vcl\StdCtrls.hpp>

#include <vcl\Controls.hpp>

#include <vcl\Forms.hpp>

#include <vcl\Graphics.hpp>

#include <vcl\Classes.hpp>

#include <vcl\SysUtils.hpp>

#include <vcl\Windows.hpp>

#include <vcl\System.hpp>

//——————————————————-

class TPagesDlg : public TForm

{

__published: TPanel *Panel1; TPanel *Panel2;

TPageControl *PageControl; TTabSheet *TabSheet1; TTabSheet *TabSheet2; TTabSheet *TabSheet3; TButton *OKBtn;

TButton *CancelBtn;

TButton *HelpBtn; private:

public:

virtual      fastcall TPagesDlg(TComponent *Owner);

};

//——————————————————-

extern TPagesDlg *PagesDlg;

//——————————————————-

#endif

Изначальный дизайн страничного диалога содержит несколько важных компонентов. Во-первых, переменная типа TPageControl (PageControl1) является центром всего. Объект типа PageControl (страничный управляющий элемент) – это и есть основа, которая управляет тем, какие диалоги (называемые листами с закладками, tab sheets) отображать. Объекты типа TTabSheet (TabSheet1,

…) и есть сами страницы этого страничного диалога, которые отображаются, когда происходит щелчок мыши на соответствующей закладке. И, наконец, кнопки OK, Cancel и Help автоматически создаются внизу диалога для работы с диалогом пользователя. Если вы хотите сделать эту форму немодальной (например, дочернее окно MDI), то вам стоит убрать кнопки и растянуть панели, на которых находятся странички, до размера формы.

Отображение страничного диалога

Сначала мы отобразим новый страничный диалог. Это дает нам шанс продемонстрировать разницу в отображении форм в модальном и немодальном (обычном) виде. Добавьте  новое главное меню в основную форму и добавьте пункт меню с заголовком  Показать  страничный диалог. Добавьте следующий код в обработчик этой команды меню. Учтите, что вам нужно будет

выбрать File ä Include Header (подключить заголовочный файл) для добавления файла  Unit2.h в первую форму:

void __fastcall TForm1::ShowTabDialog1Click(TObject *Sender)

{

PagesDlg->ShowModal();

}

Это дает нам возможность использовать страничный диалог как модальный. Отображение диалога как модального означает, что вы не сможете вернуться к главной форме до тех пор, пока вы не закроете окно диалога с помощью кнопок OK, Cancel или кнопки закрытия на панели заголовка формы.

Источник: Теллес М. – Borland C++ Builder. Библиотека программиста – 1998

По теме:

  • Комментарии