Ресурсы приложения
Приложение WebHelp должно содержать меню, из которого можно вызвать для просмотра в навигаторе WWW страницу со справочным текстом. Чтобы включить в проект меню, сначала создайте новый файл ресурсов. Выберите из меню File строку New, а затем из открывшейся диалоговой панели выберите строку Resource Script и нажмите кнопку OK.
Теперь выберите из меню Insert строку Resource. На экране появится диалоговая панель Insert Resource. Выберите из нее строку Menu и нажмите кнопку OK. Вы сможете разработать меню в диалоговом режиме. Чтобы быстрее перейти к редактированию меню, можно нажать кнопку New Menu (
) из панели управления Project.Создайте меню Help, при выборе которой открывается меню, содержащее две строки - Web Help и About. В диалоговой панели свойств элементов меню (рис. 5.2) установите переключатель Help, тогда для этого меню будет установлено выравнивание по правому краю.
Затем в меню верхнего уровня добавьте строку File. В меню File поместите строку Exit. Строки Web Help и About из меню Help должны иметь идентификаторы ID_HELP_WEBHELP и ID_HELP_ABOUT, а строка Exit меню File - идентификатор ID_FILE_EXIT.
Рис. 5.2. Диалоговая панель Menu Item Properties
Сохраните файл ресурсов в файле с именем WebHelp.rc. Редактор ресурсов создает кроме самого файла ресурсов еще включаемый файл, в котором определяются константы, используемые в файле ресурсов. В нашем случае в нем определяются идентификаторы меню приложения. По умолчанию этот файл сохраняется под именем resource.h. Вы можете изменить его, выбрав из меню View строку Resource Includes. Для нашего приложения мы изменили имя включаемого файла для ресурсов на WebHelpRes.h. Содержимое этого файла представлено листингом 5.2.
Листинг 5.2. Файл WebHelpRes.h
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by WebHelp.rc
//
#define IDR_MENU 101
#define ID_HELP_WEBHELP 40003
#define ID_FILE_EXIT 40005
#define ID_HELP_ABOUT 40007
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40008
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
В листинге 5.3 мы привели файл ресурсов WebHelpRes.rc приложения. Этот файл был подготовлен редактором ресурсов Visual C++. Одна из первых строк файла содержит директиву #include, которой подключается файл WebHelpRes.h, содержащий описание идентификаторов ресурсов (листинг 5.2).
Среди прочих служебных строк, необходимых редактору ресурсов и компилятору Visual C++, вы можете обнаружить описание меню приложения IDR_MENU.
Листинг 5.3. Файл WebHelpRes.rc
//Microsoft Developer Studio generated resource script.
//
#include "WebHelpRes.h"
#define APSTUDIO_READONLY_SYMBOLS
//////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
//////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
//////////////////////////////////////////////////////////////
// Russian resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
#ifdef _WIN32
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
#endif //_WIN32
//////////////////////////////////////////////////////////////
//
// Menu
//
IDR_MENU MENU DISCARDABLE
BEGIN
POPUP "File"
BEGIN
MENUITEM "Exit", ID_FILE_EXIT
END
POPUP "Help", HELP
BEGIN
MENUITEM "Web Help", ID_HELP_WEBHELP
MENUITEM SEPARATOR
MENUITEM "About", ID_HELP_ABOUT
END
END
#ifdef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"WebHelpRes.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#endif // Russian resources
//////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
//////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
Теперь проект готов. Вы можете построить его и запустить полученное приложение WebHelp. Внешний вид приложения представлен на рисунке 5.3. Окно приложения имеет меню File и Help. В меню File расположена только одна строка Exit, выбрав которую вы можете завершить приложение. Меню Help состоит из двух строк - Web Help и About.
Рис. 5.3. Приложение WebHelp
Если вы выберите строку About, то на экране появится временная диалоговая панель с информацией об приложении. Когда же вы выбираете из меню Help строку Web Help, будет запущена программа навигатор, которая используется вами по умолчанию и в нее будет загружена WWW страница, расположенная по адресу http://www.dials.ccas.ru/frolov/rwin/webhelp.htm. Мы специально подготовили эту страницу, расположив ее на нашем сервере и поместили на ней краткие инструкции по работе с программой.
Обратите внимание, что описанная нами программа работает вне зависимости от того, какой навигатор вы используете - Microsoft Internet Explorer, Netscape Navigator или какую-либо другую программу.