Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Урок 3. Код заготовки MFC / Уроки MFC / Visual C++
Visual C++. MFC Урок 3. Код заготовки MFC
Вставьте в файл вашего проекта следующий код:
#include <afxwin.h>
class CMyMainWnd : public CFrameWnd{
public:
CMyMainWnd(){ // конструктор
Create(NULL,"My title");
}
};
class CMyApp : public CWinApp{
public:
CMyApp(){}; // конструкторvirtual BOOL InitInstance(){
m_pMainWnd=new CMyMainWnd();
m_pMainWnd->ShowWindow(SW_SHOW);
return TRUE;
}
};
CMyApp theApp;
Запустите программу нажав Ctrl-F5 или кнопочку
Должно появиться окно с заголовком "My title".
Приступаем к разбору кода. Сначала мы includ'ом подключаем нужный заголовочный файл - afxwin.h.
Затем мы делаем два класса - CMyMainWnd и CMyApp. Первый из них (CMyMainWnd) задаёт главное окно нашего приложения. Второй (CMyApp) - само приложение. Обратите внимание, что в конце нашего кода мы в строке
CMyApp theApp;
создаём экземпляр нашего приложения. Надо понимать, что приложение и его главное окно - это разные веши.
В классе главного окна ничего кроме контруктора нет. В конструкторе мы вызываем метод Create. Откуда он взялся? От родительского класса. Обратите внимание, что класс нашего окна потомок от класса CFrameWnd из библиотеки MFC. Это видно из строчки
class CMyMainWnd : public CFrameWnd
Так вот в родительском классе и есть метод create. Он принимает много параметров, но большинство из них можно не указывать, так как они задаются по умолчанию. Мы указали только первые два. Первый NULL означает, что параметры окна мы берём стандартные. Второй отвечает за заголовок окна.
Переходим к классу CMyApp. Внутри него переопределяется функция InitInstance родительского класса. В ней в строке
m_pMainWnd=new CMyMainWnd();
динамически создается новый экземпляр нашего главного окна. Но создание ещё не есть показ на экране. В следующей строке