Шаг 71.
Среда программирования Visual C++.
Компоненты исходного кода

    На этом шаге мы проанализируем созданный код.

    AppWizard не только создает файлы, необходимые для построения справочной системы приложения, но и дополняет исходный код средствами поддержки контекстно-зависимой справки. В меню Help добавляется пункт Help Topics (ресурс ID_HELP_FINDER), на панель инструментов - кнопка Context Help (режим интерактивной справки, ресурс ID_CONTEXT_HELP), а в таблицу "быстрых" клавиш - записи, определяющие F1 в качестве клавиши контекстно-зависимой справки (ресурс ID_HELP) и SH1FT+F1 в качестве клавиш интерактивной справки.

    Приведенный ниже код карты сообщений главного окна приложения связывает вышеперечисленные ресурсы с функциями-обработчиками базового класса.

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	ON_WM_CREATE()
	//}}AFX_MSG_MAP
	// Global help commands
	ON_COMMAND(ID_HELP_FINDER, CFrameWnd::OnHelpFinder)
	ON_COMMAND(ID_HELP, CFrameWnd::OnHelp)
	ON_COMMAND(ID_CONTEXT_HELP, CFrameWnd::OnContextHelp)
	ON_COMMAND(ID_DEFAULT_HELP, CFrameWnd::OnHelpFinder)
END_MESSAGE_MAP()


Рис.1. Карта сообщений

    Так или иначе все функции-обработчики вызывают функцию CWnd::WinHelp(), которая запускает приложение WinHelp. OnContextHelp() формирует из идентификатора ресурса идентификатор контекста справки, который передается в качестве параметра функции WinHelp(). Если создать корректный идентификатор контекста справа не удается, генерируется командное сообщение ID_DEFAULT_HELP.

    На следующем шаге мы рассмотрим создание разделов справки.




Предыдущий шаг Содержание Следующий шаг