Чтение онлайн

ЖАНРЫ

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Фролов Григорий Вячеславович

Шрифт:

К сожалению, если вы не используете для создания приложения MFC AppWizard, то вам, скорее всего, не будут доступны и возможности ClassWizard. Сейчас нам придется пожертвовать удобством в разработке приложения ради простоты его исходных текстов.

Создайте новый проект под названием Bar. В качестве типа приложения выберите из списка Type строку Application. Выберите из меню Build строку Settings или нажмите комбинацию клавиш <Alt+F7>. На экране появится диалоговая панель Project Settings. В этой панели расположены несколько страниц, позволяющих настроить различные характеристики проекта.

Откройте страницу General. Выберите

из списка Microsoft Foundation Classes строку Use MFC in a Shared Dll или строку Use MFC in a Static Library. Эта настройка указывает Microsoft Visual C++, что в приложении используются классы библиотеки MFC.

Наберите в редакторе исходный текст приложения и сохраните его в файле Bar.cpp (листинг 3.4). Затем включите этот файл в проект. Для простоты мы включили в один файл весь программный код приложения.

Листинг 3.4. Файл Bar.cpp

//============================================================

// Приложение Bar

// (c) Frolov G.V., 1996

// E-mail: frolov@glas.apc.org

//============================================================

// Исключаем редко используемые определения из

// включаемых файлов

#define VC_EXTRALEAN

// Включаемый файл для MFC

#include <afxwin.h>

#include <afxext.h>

#include <afxcmn.h>

// Включаемый файл для ресурсов приложения

#include "resource.h"

//============================================================

// Класс CBarApp - главный класс приложения

//============================================================

class CBarApp : public CWinApp {

public:

 // Мы будем переопределять метод InitInstance,

 // предназначенный для инициализации приложения

 virtual BOOL InitInstance;

};

// Создаем объект приложение класса CBarApp

CBarApp MyBarApp;

//============================================================

// Класс CBarWindow - представляет главное окно

//============================================================

class CBarWindow : public CFrameWnd {

protected: // control bar embedded members

 CToolBar m_wndToolBar;

protected:

 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

public:

 // Объявляем конструктор
класса CBarWindow

 CBarWindow;

 // Объявляем методы для обработки команд меню

 afx_msg void BarCommand;

 // Макрокоманда необходима, так как класс

 // CBarWindow обрабатывает сообщения

 DECLARE_MESSAGE_MAP

};

//============================================================

// Метод BarCommand

// Обрабатывает команду ID_TEST_BEEP

//============================================================

void CBarWindow::BarCommand {

 MessageBox("Command not implemented");

}

//============================================================

// Таблица сообщений класса CBarWindow

//============================================================

BEGIN_MESSAGE_MAP(CBarWindow, CFrameWnd)

 ON_WM_CREATE

 ON_COMMAND(ID_FILE_OPEN, CBarWindow::BarCommand)

 ON_COMMAND(ID_FILE_SAVE, CBarWindow::BarCommand)

 ON_COMMAND(ID_TOOL_EXIT, CBarWindow::BarCommand)

END_MESSAGE_MAP

//============================================================

// Метод InitInstance класса CBarApp

//============================================================

BOOL CBarApp::InitInstance {

 // Создаем объект класса CBarWindow

 m_pMainWnd = new CBarWindow;

 // Отображаем окно на экране

 m_pMainWnd->ShowWindow(m_nCmdShow);

 // Обновляем содержимое окна

 m_pMainWnd->UpdateWindow;

 return TRUE;

}

//============================================================

// Конструктор класса CBarWindow

//============================================================

CBarWindow::CBarWindow {

 // Создаем окно приложения, соответствующее

 // данному объекту класса CBarWindow

 Create(NULL, "Hello MFC", WS_OVERLAPPEDWINDOW, rectDefault, NULL);

}

//============================================================

Поделиться с друзьями: