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 руб./мес


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




 Урок 18. Еще о добавлении диалога / Уроки MFC / Visual C++

Visual C++. MFC
Урок 18. Еще о добавлении диалога

В уроке 16 мы уже создали диалоговое окно. При этом мы не создавали новый класс. Посмотрим теперь, как можно создать диалоговое окно с созданием нового класса.

Начнем с того, что создадим ресурс для диалогового окна. Для этого заходим в меню Insert, далее выбираем Resource. В появившемся диалоге выбираем Dialog и нажимаем на New. Все, как в уроке 16. Для того, чтобы не спутать наш диалог с предыдущим, измените его заголовок. Для этого щелкните на нем правой кнопкой мыши и выберите Properties. В появившемся окне свойств измените свойство Caption на Dialog (class):

Свойства диалога

Закройте окно свойств. Теперь используем ClassWizard для создания нового класса. Для этого вызовите для нашего нового диалогового окна контекстное меню и выберите в нем ClassWizard. В появившемся окне Adding a Class выберите Create a new class и нажмите на OK:

Диалог Adding a Class

Появится следующее диалоговое окно New Class. В нем задайте свойство Name как CDlg и убедитесь, что в ComboBox'е Dialog ID выбран идентификатор нашего нового диалого IDD_DIALOG2, после чего нажмите OK:

Диалог New Class

После этого в окне ClassWizard в списке классов появится наш новый класс:

Новый класс

Этот же класс появится и на вкладке ClassView:

Новый класс

Теперь займемся необходимыми изменениями в коде. Их несколько. Во-первых, надо изменить обработчик нашего меню. До этого в нем вызывалось первое диалоговое окно. Уберите из обработчика старый код и добавьте код для появления нашего второго диалогового окна:

void CMyMainWnd::OnMyMenuDialog(){
    CDlg dlg;
    dlg.DoModal();
}

Так как мы используем класс CDlg, то его заголовочный файл надо добавить в класс реализации нашего класса CMyMainWnd (это файл, в котором мы написали обработчик для меню):

#include <afxwin.h>
#include "resource.h"

#include "Dlg.h"
...

Теперь, если вы запустите нашу программу и выберете соответствующее меню, то появится наше новое диалоговое окно:

Новый диалог