Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Пример использования MFC в Visual C++

Автор: Уваров Андрей

В этой главе будет показано как включить потдержку MFC в Visual C++ на примере двух типов приложений:

Консольное приложение

Для того, чтобы включить использование MFC в ваше консольное приложение, вам надо написать следующий код:

#include <afxwin.h>
#include <iostream.h>

int main( int argc, char* argv[] )
{
if ( !AfxWinInit( ::GetModuleHandle( NULL ), NULL, ::GetCommandLine( ), 0 ) )
{
cerr << _T( "MFC Failed to initialize.\n" );
return 1;
}

// код вашей программы

return 0;
}

После того, как Вы набрали код, обязательно сделайте следующее:

Запустите программу - Build / Rebuild all ( будут ошибки ), выберите Build / Set active configuration - Win 32 Realise, выберите пункт меню "Project", далее "Settings...", закладку "C/C++", Category - Code Generation и в пункте "Use run-time library" выберите "Multithreaded". После этого сделайте опять Build / Rebuild all и программа будет работать.

Если MFC инициализировалась правильно, то будет выполняться код вашей программы, если нет - выведется сообщение "MFC Failed to initialize." Если что то не так, проверте наличие библиотеки "afxwin.h" и правильность написания кода или возьмите готовую программу отсюда.

Приложение типа Windows Application

Что бы создать приложение типа Windows Application с использованиеи MFC нужно сделать следующие шаги( создадим для простоты приложение основанное на диалогах ):

  1. Запустите Visual C++.
  2. Выберите File / New.
  3. Выберите закладку "Projects" / "MFC AppWizard( exe )", введите имя проекта( Project name ) и место для проекта( Location ) и нажмите кнопку "OK". В ответ будут выводится диалоговые панели.
  4. MFC AppWizard - Step 1. Выберите интересующий тип проекта( простой документ, мулти-документ или документ, основанный на диалогах ) и нажмите кнопку "Next>" ( Вам надо выбрать "Dialog based").
  5. MFC AppWizard - Step 2. Нажмите кнопку "Next>".
  6. MFC AppWizard - Step 3. Нажмите кнопку "Finish".
  7. New Project Information. Нажмите кнопку "OK".

Ну вот и всё, у Вас есть уже готовая программа, потдерживающая MFC.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
100K
26 февраля 2019 года
Blogan
0 / / 26.02.2019
+0 / -2
Мне нравитсяМне не нравится
26 февраля 2019, 13:26:48
Ех, сейчас бы написать код полон макросов, аргументов командной строки и функций, и не объяснять, почему ты так написал. Если что, код опять не робочий, вот нормальный вариант на 2019 год:
#include <afxwin.h>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
if (!AfxWinInit(GetModuleHandle(NULL), NULL, GetCommandLine(), 0))
{
cerr << _T("MFC Failed to initialize.\n");
return EXIT_FAILURE;
}

return EXIT_SUCCESS;
}

Не забудьте настроить в Visual Studio 2019 то, что он просил. Хорошо что хоть все другое до сих пор работает примерно так же.
2.
Аноним
+1 / -0
Мне нравитсяМне не нравится
25 сентября 2005, 14:19:57
Насчет конс приложения я так и не врубился но всё равно спасибо за статью !!!
3.
Аноним
+1 / -0
Мне нравитсяМне не нравится
5 сентября 2005, 06:35:17
Если я не ошибаюсь, для работы консольного приложения, приведенного выше, необходимо еще выпонить следующие действия: Project/Settings на вкладке General в списке Microsoft Foundation Classes выбрать Use MFC in a Shared DLL, тогда все заработает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог