Шаг 29 - Запуск файла помощи

Создание проекта

Развиваем наш проект. Нам необходимо создать пункт меню Help с идентификатором ID_HELPVIEW.

29_1.gif (3668 b)

Создаем код

Описание функции.

class CStep2App : public CWinApp	// класс приложения
{
public:
CStep2App();
virtual BOOL InitInstance();
void OnHelpView(); // реакция на вызов помощи
private:
DECLARE_MESSAGE_MAP() // таблица откликов для класса приложения
};

Реализация.

void CStep2App::OnHelpView()
{
::WinHelp(NULL,"calc.hlp",HELP_CONTENTS,0); // вызов справки
}

Реакция на событие.

BEGIN_MESSAGE_MAP(CStep2App, CWinApp)
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) // пункт меню New
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // пункт меню Open
ON_COMMAND(ID_HELPVIEW,OnHelpView) // вызов меню Help
END_MESSAGE_MAP()

Вот так будет работать программа.

29_2.gif (11201 b)

Описание

Для первого знакомства мы воспользуемся функцией Win32 API, хотя следует отметить, что в MFC есть встроенные механизмы работы с файлами помощи. Итак, в результате выбора пункта меню ID_HELPVIEW происходит обращение к функции OnHelpView, которая в свою очередь вызывает функцию Windows запускающую файл помощи. Первый параметр это окно, которому принадлежит помощь, у нас его нет, потом указываем файл помощи, я выбрал стандартный calc.hlp. А вот дальше указываются параметры, суть этих параметров указать конкретную тему или раздел помощи. Запускайте и вызывайте помощь.

Шпаргалка

Опиши реакцию на событие

BEGIN_MESSAGE_MAP(CStep2App, CWinApp)
.......
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // пункт меню Open
.......
END_MESSAGE_MAP()

Вызови функцию показа помощи.

::WinHelp(NULL,"calc.hlp",HELP_CONTENTS,0);

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.