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


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




 Урок 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();

динамически создается новый экземпляр нашего главного окна. Но создание ещё не есть показ на экране. В следующей строке

m_pMainWnd->ShowWindow(SW_SHOW);

наше созданное окно показывается на экране.

С создание пустого окна всё.