Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

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"
 
 ...

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

Новый диалог

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS