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

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


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

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



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

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);

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

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



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

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




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



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


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