Разработка приложений для Internet

       

Приложение WebHelp


Создайте новый проект под названием WebHelp. В качестве типа приложения выберите из списка Type строку Application. Наберите в редакторе исходный текст приложения и сохраните его в файле WebHelp.cpp (листинг 5.1). Чтобы быстрее набрать текст приложения, вы можете получить его, изменив исходный текст приложения MFMenu, которое мы приводили в 24 томе.

Включите файл WebHelp.cpp в проект. Теперь надо перейти к созданию ресурсов, используемых в приложении.

Листинг 5.1. Файл WebHelp.cpp

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

// Приложение WebHelp: справочная система на основе WWW

//

// (C) Фролов Г.В., 1997

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

// WWW:    http://www.glasnet.ru/~frolov

//         или

//         http://www.dials.ccas.ru/frolov

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

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



#include <afxwin.h>

#include "WebHelpRes.h"

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

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

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

class CWebHelpApp : public CWinApp

{

public:

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

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

   virtual BOOL InitInstance();

};

 

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

CWebHelpApp WebHelpApp;

 

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

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

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

class CWebHelpWindow : public CFrameWnd

{

public:

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

   CWebHelpWindow();

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

   afx_msg void WebHelpCommand();

   afx_msg void AboutCommand();

   afx_msg void ExitAppCommand();

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

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

   DECLARE_MESSAGE_MAP()   

};

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


// Метод MenuCommand

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

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

void CWebHelpWindow::WebHelpCommand()

{

   // Запускаем навигатор для просмотра справочной

   // информации, записанной на сервере WWW

   ShellExecute(NULL, "open",

      "http://www.dials.ccas.ru/frolov/rwin/webhelp.htm",

      NULL, NULL, SW_SHOWNORMAL);

}

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

// Метод MenuCommand

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

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

void CWebHelpWindow::AboutCommand()

{

   MessageBox("World Wide Web Help, \n(c) Frolov Grigory");  

}

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

// Метод ExitApp

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

void CWebHelpWindow::ExitAppCommand()

{

   DestroyWindow();

}

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

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

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

BEGIN_MESSAGE_MAP(CWebHelpWindow, CFrameWnd)

   ON_COMMAND(ID_HELP_WEBHELP, WebHelpCommand)

   ON_COMMAND(ID_HELP_ABOUT,   AboutCommand)

   ON_COMMAND(ID_FILE_EXIT,    ExitAppCommand)

END_MESSAGE_MAP()

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

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

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

BOOL CWebHelpApp::InitInstance()

{

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

   m_pMainWnd = new CWebHelpWindow();

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

   m_pMainWnd -> ShowWindow(m_nCmdShow);

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

   m_pMainWnd -> UpdateWindow();

   return TRUE;

}

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

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

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

CWebHelpWindow::CWebHelpWindow()

{

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

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

   Create(NULL, "World Wide Web Help", WS_OVERLAPPEDWINDOW,

         rectDefault, NULL, MAKEINTRESOURCE(IDR_MENU));

}


Содержание раздела