Tab control - это мощное средство для решению многих проблем в интерфейсе приложений. Оно позволят существенно увеличить скорость работы вашего приложения, разбить на "части" диалог в удобной для пользователя форме.
В MFC есть встроенный класс по работе с Tab control - класс CTabCtrl.
Для практики напишем программу, которая будет использовать класс CTabCtrl и в которой будет три "закладки" - диалога.
Шаги создания проекта:
1) Сначала создадим проект tab_control типа диалог.
Возможно вы искали - Статья: Программируем под IIS на Visual C++
2) В редакторе ресурсов добавить Tab Control в шаблон диалога и назначим ему ID = IDC_TAB.
3) Используя ClassWizard, добавим переменную-член типа CTabCtrl со свойством Control.
4) В OnInitDialog проинициализируем необходимые переменные для CTabCtrl.
5) Используя ClassWizard, добавим обработку необходимых сообщений от Tab control 'я.
6) Удалим за собой ненужные переменные.
Похожий материал - Статья: Введение в ADO
Для начала сделайте первые три пункта, создайте переменную m_ctrTab класса CTabCtrl. После этого в функцие BOOL CTab_controlDlg::OnInitDialog() добавте следующее:
...
TC_ITEM TabItem;
TabItem.mask = TCIF_TEXT;
TabItem.pszText = "Закладка1";
Очень интересно - Реферат: Системы с ожиданием
m_ctrTab.InsertItem( 0, &TabItem );
TabItem.pszText = "Закладка2";
m_ctrTab.InsertItem( 1, &TabItem );
TabItem.pszText = "Закладка3";
m_ctrTab.InsertItem( 2, &TabItem );
Вам будет интересно - Статья: Трансляция кода Delphi в код C++Builder
...
Это код инициализации Tab Control, мы создаём три закладки. Теперь нам надо, чтобы при нажатие на любую закладку, на экране появлялось то, что нам нужно. Самый простой вариант - это использовать на каждую закладку по диалогу - и потом просто в области Tab Control'а - выводить нужный диалог, в зависимости от текущей закладки.
Сделаем это. Добавим три диалога в редакторе ресурсов и создадим каждому из них по классу - наследнику от CDialog. Назовем эти классы CPage1, CPage2 и CPage3( файлы Page1.cpp(h), Page2.cpp(h), Page3.cpp(h) ) .
В свойствах этих трёх диалогов поставте Style как "Child" и Border как "none" - это очень важно, а в самих диалогах создайте какие либо элементы ( например, типа Static Text ), чтобы было видно отличие.
Напишите эти три строчки в начале файла tab_controlDlg.cpp
Похожий материал - Статья: Создание консольных приложений в C++ Builder 6
#include "Page1.h"
#include "Page2.h"
#include "Page3.h"
Продолжимв OnInitDialog: