C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
   Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
   "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©[email protected]...
   "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
   01.05.2010 — Update World C++: Сборник GPL QT исходников
   15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


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




 Урок 17. Подсоединяем мастер ClassWizard / Уроки MFC / Visual C++

Visual C++. MFC
Урок 17. Подсоединяем мастер ClassWizard

В Visual C++ кроме мастеров для создания остова приложения есть такой замечательный мастер как ClassWizard. Он предназначен для работы с классами - для добавки в них методов и свойств, для добавления переменных к элементам диалогового окна и для других целей. ClassWizard автоматически подсоединится к вашему проекту, если вы запускаете какой-нибудь мастер для создания заготовки для вашего приложения. Мы же пишем наши первые программы с MFC без мастеров, поэтому нам надо мастер ClassWizard подсоединить. Часть классов у нас уже написана без него. Если мы хотим в дальнейшем использовать ClassWizard и для уже написанных классов, то мы должны внести в них некоторые изменения (т. е. добавить код, который внёс бы ClassWizard, если бы писал заготовку для наших классов сам). Сделаем это.

Вставьте следующий код в protected-секцию класса CMyMainWnd:

class CMyMainWnd : public CFrameWnd{
protected:
    //{{AFX_MSG(CMyMainWnd)
    //}}AFX_MSG
    ...

Затем вставьте код в public-секцию класса CMyMainWnd:

public:
    //{{AFX_VIRTUAL(CMyMainWnd)
    //}}AFX_VIRTUAL
    ...

И, наконец, в карту сообщений класса CMyMainWnd:

BEGIN_MESSAGE_MAP(CMyMainWnd, CFrameWnd)
    //{{AFX_MSG_MAP(CMyMainWnd)
    //}}AFX_MSG_MAP
    ...
END_MESSAGE_MAP()

Добавленный нами код будет компилятором игнорироваться (это же комментарий), но для ClassWizard он очень важен. Именно между добавленными нами строчками ClassWizard и будет писать что-то своё. Это - его территория.

После этого нажмите комбинацию клавиш Ctrl+W для вызова ClassWizard. Так так файла для него нет (с расширением *.clw), то он предложит вам его создать:

Создание файла для ClassWizard

Отвечайте Да. В появившемся окне сначала нажмите на Add All (для подсоединения существующих классов), и затем на OK:

Подсоединение существующих классов

Появится окно ClassWizard.

Окно ClassWizard

Обратите внимание, что в ComboBox'е Class Name будет наш класс CMyMainWnd. Это потому, что именно в него мы добавили строчки типа

//{{AFX_...(CMyMainWnd)
//}}AFX_...

Нажимаем OK для закрытия ClassWizard. Если он нам будет нужен, то вызываем его комбинацией клавиш Ctrl+W.

Обратите внимание, что в папке вашего проекта появится файл ClassWizard'а (с расширением *.clw):

Файл *.clw