Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Урок 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:
Добавленный нами код будет компилятором игнорироваться (это же комментарий), но для ClassWizard он очень важен. Именно между добавленными нами строчками ClassWizard и будет писать что-то своё. Это - его территория.
После этого нажмите комбинацию клавиш Ctrl+W для вызова ClassWizard. Так так файла для него нет (с расширением *.clw), то он предложит вам его создать:
Отвечайте Да. В появившемся окне сначала нажмите на Add All (для подсоединения существующих классов), и затем на OK:
Появится окно ClassWizard.
Обратите внимание, что в ComboBox'е Class Name будет наш класс CMyMainWnd. Это потому, что именно в него мы добавили строчки типа
//{{AFX_...(CMyMainWnd)//}}AFX_...
Нажимаем OK для закрытия ClassWizard. Если он нам будет нужен, то вызываем его комбинацией клавиш Ctrl+W.
Обратите внимание, что в папке вашего проекта появится файл ClassWizard'а (с расширением *.clw):