На этом шаге мы рассмотрим использование ресурсов в проектах.
Можно включать в свой проект HTML-страницы в виде ресурсов наподобие растровых изображений или шаблонов диалога. HTML-ресурсы можно сохранять в виде HTML-файлов в папке res проекта или помещать в описание ресурсов проекта (RC-файл). В любом случае HTML-ресурс разрешается редактировать в Visual C++. Поскольку эти ресурсы непосредственно компилируются в исполняемую программу, это позволяет безопасно и удобно распространять вместе в приложением все нужные для его работы HTML-страницы. Сейчас мы включим в приложение в качестве ресурса уже рассмотренные в предыдущих шагах файлы MyPage.htm и SecondPage.htm.
Рис.1. Добавленный файл MyPage.htm
Navigate2(_T("http://www.microsoft.com/visualc/"),NULL,NULL);
LoadFromResource(IDR_MYPAGE);
То, что Вы видите, - откомпилированная версия файла MyPage.htm. А это означает, что как бы Вы не модифицировали HTML-код файла MyPage.htm, эти изменения отразятся в приложении только после его повторной сборки. Кроме того, диалоговое окно View Links не сможет найти и отобразить ссылки этой страницы.
Также обратите внимание, что невозможен переход по ссылке на другую локальную страницу. Причина в том, что ссылка указывает на внешний файл с расширением .htm:
<a name="11" href= "SecondPage.htm"> ссылка на локальный документ</a>
Вам придется отредактировать ее, чтобы она указывала на ресурс IDR_SECONDPAGE. Internet Explorer предоставляет протокол res:, по синтаксису напоминающий HTTP-протокол. С его помощью можно определить URL-адрес ресурса, скомпонованного с ЕХЕ или DLL файлом. Протокол res: имеет следующий формат:
гes://файл_ресурса/[тип_ресурса]/идентификатор_ресурса
В этом протоколе файл_ресурса - имя ЕХЕ- или DLL-файла с ресурсом, a тип_pecypca - необязательное числовое значение, указывающее на тип ресурса. Наиболее часто применяются значения 23 (HTML-страница) и 2 (растровое изображение). Числовой идентификатор ресурса задается в идентификатор_ресурса. Файл winuser.h папке Microsoft Visual Studio\Vc98\Include содержит полный список типов ресурса в виде перечисления констант с префиксом RT_. Если тип не указан, то используется значение по умолчанию - 23.
Отредактируем ссылки на страницах HTML-pecyрса для применения протокола res:.
Рис.2. Окно Resource Symbols
<A HREF= "SecondPage.htm"> ссылка на локальный документ </A>
<A HREF= "res://MyHtmlApp.exe/n>
<A HREF="MyPage.htm"> здесь </A>
<A HREF=" res://MyHtmlApp. ехе//n"> здесь </A>
Созданное приложение можно взять здесь (44,8 Кб).
На следующем шаге мы рассмотрим создание элемента управления средствами ATL.