Опубликован: 11.09.2006 | Доступ: свободный | Студентов: 7324 / 281 | Оценка: 4.26 / 3.45 | Длительность: 30:46:00
ISBN: 978-5-9556-0080-2
Лекция 8:

Справочные материалы. перевод приложений. специальные возможности

Создание проекта в программе HTML Help Workshop

Приступим теперь к разработке файла справки, состоящего из подготовленных страниц. При установке Microsoft Visual Studio .NET на компьютер также устанавливается программа для создания справок — HTML Help Workshop. Для ее запуска переходим в меню Пуск\Все программы\папка HTML Help Workshop\ HTML Help Workshop. Подобно Visual Studio .NET, для работы с этой программой требуется создать проект. В меню File выбираем New\Project, в появившемся Мастере New Project нажимаем кнопку "Далее", указываем расположение проекта и его название (notepadhelp.hhp), в шаге New Project —> Existing Files снова нажимаем "Далее" и завершаем работу Мастера. В результате главное окно программы примет следующий вид (рис. 8.3):

Главное окно HTML Help Workshop с новым проектом notepadhelp.hhp

Рис. 8.3. Главное окно HTML Help Workshop с новым проектом notepadhelp.hhp

Добавляем в проект html-страницы, на боковой панели инструментов щелкаем на кнопкеКнопка(Add/Remove topic files…), в появившемся окне нажимаем на кнопку Add и выбираем папку, содержащую страницы (рис. 8.4).

Добавление HTML-страниц в проект

Рис. 8.4. Добавление HTML-страниц в проект

В результате в окне Project под заголовком [Files] появится список добавленных страниц. Можно просмотреть HTML-код каждой страницы, нажав кнопкуКнопка(View HTML Source). Обратите внимание на заголовки страниц: названия должны быть видны на русском языке, т. е. быть в кодировке Windows — 1251 или 1252 (рис. 8.5). Если заголовки представлены в другой кодировке, исправьте их — они понадобятся нам в дальнейшем.

Заголовки читаются (содержимое между <title> Обработчик пункта меню About Program</title>), сам текст может быть в другой кодировке (содержимое <font size = "2"> </font>)

увеличить изображение
Рис. 8.5. Заголовки читаются (содержимое между <title> Обработчик пункта меню About Program</title>), сам текст может быть в другой кодировке (содержимое <font size = "2"> </font>)

Создание содержания

После того как в проект были включены исходные страницы, можно приступать к созданию содержания. Щелкаем на вкладку Contents, при этом появляется окно — "Таблица содержания не определена" (Table Contents Not Specified) — при создании проекта мы пропустили шаг Мастера с созданием файла содержания. Сделаем это теперь – выбираем пункт Create new contents file, указываем директорию для сохранения (желательно сохранять файл содержания там же, где расположен файл проекта notepadhelp.hhp) и называем его ContentsNhelp.hhc. Щелкаем на кнопке добавления страницыКнопка(Insert a page), в поле Entry title вводим название заголовка, которое будет отображаться в содержании, щелкаем на кнопке Add/Edit… и выбираем аналогичный заголовок HTML-страницы из файла проекта (рис. 8.6).

Добавление страницы в содержание справки

увеличить изображение
Рис. 8.6. Добавление страницы в содержание справки

Добавляем таким же образом страницу "Структура программы". Изменяем порядок расположения заголовков в содержании, щелкая на кнопках со стрелкамиКнопкаиКнопкана панели инструментов. На рис. 8.1 замечаем, что заголовок "Главная форма frmmain" представляет собой папку, содержащую заголовок "Полный листинг главной формы", и папки c названиями пунктов меню, которые, в свою очередь, тоже содержат вложенные заголовки. Для вставки заголовка-папки нажимаем на кнопкуКнопка(Insert a heading), появляется уже знакомое окно Table of Contents Entry. Вводим название заголовка и связываем с ним страницу frmmain.htm. Добавляем под ним еще один обычный заголовок "Полный листинг главной формы" (связанный со страницей FullCodefrmmain.htm), и он автоматически устанавливается с отступом от края окна. Расположение заголовка можно изменять, выделив его и нажимая на кнопкиКнопка(Move selection right) иКнопка(Move selection left) (рис. 8.7).

Заголовки с отступом (слева) превращаются во вложенные заголовки в готовой справке (справа)

Рис. 8.7. Заголовки с отступом (слева) превращаются во вложенные заголовки в готовой справке (справа)

Заголовки-папки могут быть связанными с HTML-страницей или просто быть контейнером для других страниц (рис. 8.8).

Папка-заголовок "Главная форма frmmain" связана со страницей frmmain.htm, папка-заголовок "Меню File" представляет собой просто контейнер для других страниц

Рис. 8.8. Папка-заголовок "Главная форма frmmain" связана со страницей frmmain.htm, папка-заголовок "Меню File" представляет собой просто контейнер для других страниц

В результате должна получиться следующая иерархическая структура содержания (рис. 8.9):

Иерархическая структура содержания

увеличить изображение
Рис. 8.9. Иерархическая структура содержания

Скомпилируем готовый файл справки — нажимаем на кнопкуКнопка(Compile HTML file) на панели инструментов Toolbar или выбираем пункт меню File/Compile… . Появляется диалоговое окно Create a compiled file, в котором дополнительно ставим галочку Save all files before compiling (сохранить все файлы перед компиляцией). После компиляции выводится отладочная информация в окне HTML Help Workshop, а в указанной директории появляется файл notepadhelp.chm (рис. 8.10).

Скомпилированный файл справки

Рис. 8.10. Скомпилированный файл справки
Елена Дьяконова
Елена Дьяконова

При нажатии на Сумма в примере ArbitraryMethod из Лекция 7, VS 2013 выдается ошибка: 

Необработанное исключение типа "System.InvalidOperationException" в System.Windows.Forms.dll

Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления "lblResult" не из того потока, в котором он был создан.

Затем:

Необработанное исключение типа "System.InvalidOperationException" в mscorlib.dll

Дополнительные сведения: Для каждой асинхронной операции метод EndInvoke может вызываться только один раз.

Александр Сороколет
Александр Сороколет

Свойство WindowState формы blank Maximized. Не открывается почемуто на всё окно, а вот если последующую форму бланк открыть уже на макс открывается :-/