Урок № 5 - Создание  вкладок диалогового окна   

     Создайте диалоговое окно с именем SheetApp (как создавать было описано на первом уроке).
     Удалите все элементы управления и кнопки , расположенные на заготовке диалогового окна.
     Щелкните правой кнопкой мыши на заготовке диалогового окна и в проявившемся контекстном меню выберите Properties. Откроется диалоговое окно Dialog Properties.
     Раскройте вкладку General (Общие свойства) и измените ID: (идентификатор ресурса) на IDD_PAGE1. В текстовое поле Caption введите текст "Вкладка 1". Откройте вкладку Styles (Стили). В раскрывающемся списке Style: (Стиль) выберите Child (Дочернее окно). Из раскрывающегося списка Border: (Рамка) выберите Thin (Тонкая). Снимите флажок System menu (Системное меню). Диалоговое окно Dialog Properties примет вид, изображенный на рис. 5.1.

pic5_1.gif
     Щелкните правой кнопкой мыши на идентификаторе ресурса IDD_PAGE1, расположенного в папке Dialog, во вкладке ResourceView окна Workspace. Выберите в раскрывающемся списке Language: (язык), диалогового окна Dialog Properties, язык Russian.
     В панели инструментов Controls выберите элемент управления Static Text и поместите его на заготовку. Откройте диалоговое окно Static Text Properties и введите в текстовое поле ID: IDD_STATIC, в поле Caption: Статический элемент первой вкладки. Заготовка примет вид, изображенный на рис. 5.2.

pic5_2.gif

     Вызовите мастер ClassWizard нажав на клавиши Ctrl+W. Появится диалоговое окно Adding a Class (Добавление класса), изображенное на рис. 5.3.

pic5_3.gif

В этом окне сообщается, что идентификатор ресурса IDD_PAGE1 соответствует новому ресурсу и спрашивается, создавать ли для него новый класс или использовать уже созданный.
     Оставьте установку переключателя в положении Create a new class (Создать новый класс) и нажмите кнопку ОК. Появится диалоговое окно New Class (Новый класс), изображенное на рис. 5.4.

pic5_4.gif

     Введите в текстовое поле Name: идентификатор CPage1. В раскрывающемся списке Base class: (Базовый класс) выберите класс CPropertyPage. Диалоговое окно New Class (Новый класс) будет выглядеть, как показано на рис. 5.5.. Нажмите на кнопку ОК.

pic5_5.gif

     Во вкладке ResourceView окна Workspace щелкните правой кнопкой мыши на папке SheetApp Resources (Ресурсы приложения SheetApp) и в появившемся контекстном меню выберите команду Insert Dialog (Вставить диалоговое окно). Щелкните на этой заготовке и измените размер диалогового окна так, чтобы он соответствовал размеру диалогового окна первой панели. Размер и положение выделенного элемента управления или диалогового окна отображается в панели состояния.
     Замените идентификатор ресурса новой заготовки на IDD_PAGE2, а его заголовок на "Вкладка 2". Повторите все операции произведенные над ресурсом IDD_PAGE1.
     Создайте еще одну заготовку IDD_PAGE3 и назовите ее "Вкладка 3". Повторите все операции произведенные над ресурсами IDD_PAGE1 и IDD_PAGE2.
     Итак, у Вас должны быть созданы три заготовки IDD_PAGE1, IDD_PAGE2, IDD_PAGE3. Должны быть созданы три класса CPage1, CPage2, CPage3. На каждой заготовке должен стоять статический элемент управления IDD_STATIC.
     Вызовите ClassWizard. Нажмите на кнопку Add Class ... (Добавить класс). В появившемся контекстном меню выберите команду New... (Новый). На экране появится диалоговое окно New Class.
     В текстовое поле Name: введите имя класса CSheet, в раскрывающемся списке Base class: выберите класс CPropertySheet.
     Нажмите на кнопку ОК. Мастер ClassWizard создаст новый класс с именем CSheet. Закройте ClassWizard нажав на кнопку ОК.
     Раскройте вкладку FileView (Просмотр файлов) окна Workspace. В ней раскройте папку SheetApp files (Файлы приложения SheetApp). Откройте папку Header files (Файлы заголовков) и дважды щелкните левой кнопкой мыши по имени файла Sheet.h Откроется окно редактирования файла Sheet.h
     Перед объявлением класса CSheet вставьте операторы включения файлов заголовков классов вкладок диалогового окна:
          #include "Page1.h"
          #include "Page2.h"
          #include "Page3.h"


     В раздел // Attributes описания класса CSheet вставьте операторы объявления данных-членов класса, представляющих собой объекты классов вкладок:
          CPage1 m_page1;
          CPage2 m_page2;
          CPage3 m_page3;


     Во вкладке FileView окна Workspace откройте папку Source files (Файлы реализации) и дважды щелкните левой кнопкой мыши на файле Sheet.cpp
     В тело функции обоих конструкторов класса CSheet, добавьте операторы включения вкладок в диалоговое окно:

     CSheet::CSheet(UINT nIDCaption, CWnd* pParentWnd,
                                    UINT iSelectPage)
     :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
     {
          AddPage(&m_page1);
          AddPage(&m_page2);
          AddPage(&m_page3);
     }

     CSheet::CSheet(LPCTSTR pszCaption, CWnd* pParentWnd,
                                    UINT iSelectPage)
     :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
     {
          AddPage(&m_page1);
          AddPage(&m_page2);
          AddPage(&m_page3);
     }

     Во вкладке FileView окна Workspace щелкните левой кнопкой мыши на файле SheetApp.cpp.
     В теле функции InitInstance замените оператор CSheetAppDlg dlg; на оператор:

  CSheet  dlg("Урок № 5 - Создание вкладок диалогового окна ");

     Не забудь в начале файла SheetApp.cpp вставить оператор включения файла заголовка класса CSheet:
          #include "Sheet.h"

     Сохраните Вашу работу и откомпилируйте ее.

Содержание

Hosted by uCoz



Смотрите также:



Hosted by uCoz