Страница: 1 | 2 |
Вопрос: Создание chm-справки с переходами
Добавлено: 23.04.07 23:39
Автор вопроса: Алексей
Здравствуйте!
Нужно создать справку по пакету программ в chm формате! С созданием нет проблем. Вопрос вот в чем(как бы лучше сформулировать) справка имеет иерахическую структуру в виде дерева (ну обычная chm справка), как сделать так так чтобы при запуске справки раскрывалась нужная ветвь справки? Как я предполагаю chm файлу нужно передать какого либо рода метку чтобы справка развернулась на нужном раздел!
Заранее спасибо!
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 24.04.07 11:13
Вроде как в свойствах проекта в HTML Help Workshop можно указывать стартовую страницу
Номер ответа: 2
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #2
Добавлено: 24.04.07 13:34
как я понял, вопрос немного не в этом, а в том, дабы нужный раздел открывался в зависимости от внешних причин.
Номер ответа: 3
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #3
Добавлено: 24.04.07 14:33
Может передавать адрес страницы.А вобще возьми чужую прогу замени ейо *.chm на свой ехе файл которий при запуске видаст пердаваемою команду в реестре поминяй штоб chm запускалса как ехе и все.Обращайся в icq за деталямы 408802757
Номер ответа: 4
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #4
Добавлено: 24.04.07 14:35
Может передавать адрес страницы.А вобще возьми чужую прогу замени ейо *.chm на свой ехе файл которий при запуске видаст пердаваемою команду в реестре поминяй штоб chm запускалса как ехе и все.Обращайся в icq за деталямы 408802757
Номер ответа: 5
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #5
Добавлено: 24.04.07 14:42
Павел или UU зделайте так если остане ответ равен придидущому -не сохраняем
Номер ответа: 6
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #6
Добавлено: 24.04.07 15:20
Остане=конечне
Номер ответа: 7
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #7
Добавлено: 24.04.07 15:20
Остане=конечне
Номер ответа: 8
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #8
Добавлено: 24.04.07 18:52
Пример: mk:@MSITStore:F:\_library\(Programming)\Учебник%20по%20технологии%20программирования.chm::/Charter8/1.htm
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 24.04.07 18:53
А, да. Получить этот адрес можно, открыв нужную страницу chm, запустить можно так: hh "this_link"
Номер ответа: 10
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #10
Добавлено: 24.04.07 18:54
И снова не закончил предложение, нужно открыть нужную страницу chm, правой кнопкой, свойства, URL
Номер ответа: 11
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #11
Добавлено: 24.04.07 19:23
Прям как и я.Напишу отправлю.И в момент отправления ище штота споминаеш допишиш отправляеш
Номер ответа: 12
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #12
Добавлено: 24.04.07 19:43
Не знаю, как от автора топика, а от меня лично - большое спасибо. Меня этот вопрос тоже интересовал.
Номер ответа: 13
Автор ответа:
Алексей
Вопросов: 3
Ответов: 7
Профиль | | #13
Добавлено: 24.04.07 21:23
Спасибо ребята что откликнулись на просьбу!!!
Номер ответа: 14
Автор ответа:
Алексей
Вопросов: 3
Ответов: 7
Профиль | | #14
Добавлено: 24.04.07 21:23
Спасибо ребята что откликнулись на просьбу!!!
Номер ответа: 15
Автор ответа:
Алексей
Вопросов: 3
Ответов: 7
Профиль | | #15
Добавлено: 24.04.07 21:23
Вот полное решение вопроса!
Вы можете использовать API-функцию HTMLHelp, чтобы показывать справочные файлы из VB. Сейчас мы покажем вам, как использовать HTMLHelp API так, чтобы вы смогли многократно использовать это. Для начала создадим класс и назовем его CHelp. Добавьте следующий код а ваше VB-приложение:
' Constant declarations
Private Const HH_DISPLAY_TOPIC = &H0
Private Const HH_HELP_CONTEXT = &HF
' API declaration
Private Declare Function HtmlHelp Lib _
"hhctrl.ocx" Alias "HtmlHelpA" _
 ByVal hwndCaller As Long, _
ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As Long) _
As Long
Класс CHelp имеет один метод - Show, он показан в следующем примере и имеет одним из параметров - имя файла. Это имя файла может быть откомпилированным файлом (CHM) или HTML-файлом (HTM). В первом случае вы можете использовать следующие два параметра для управления окном Справки. Второй параметр WindowPane является необязательным. Он отвечает за настройки окна, которые мы обсуждали ранее и может использоваться, чтобы отображать Справку в различных видах. Третий параметр ContextID является также необязательным. Подставив значение ContextID вы сможете реализовать контекстно-зависимую справку.
Public Sub Show(NewFile As String, _
Optional WindowPane As String, Optional ContextID)
Dim strFile As String
Dim hRet As Long
strFile = NewFile
If Len(WindowPane) Then
'you need to include > symbol with the file name
strFile = Trim(strFile) & _ ">"&Trim(WindowPane)
End If
If IsMissing(ContextID) Then
hRet =HtmlHelp(0, strFile, _ HH_DISPLAY_TOPIC, _
ByVal 0&
Else
hRet = HtmlHelp(0, strFile, _ HH_HELP_CONTEXT, _
ContextID)
End If
End Sub
Как видите, вы должны включить символ ">" с именем файла, если вы используете WindowPane. Команда HH_DISPLAY_TOPIC показывает содержание справки в окне Help. HH_HELP_CONTEXT отображает справку в зависимости от ContextID. HTMLHelp API возвратит указатель созданного справочного окна.
Использование класса CHelp
Как только вы создаете класса CHelp, все, что вы должны делать - вызов метода Show с именем откомпилированного файла в качестве первого параметра. Вы можете также передавать название HTML-файла, чтобы открыть его непосредственно в окне темы справки без Панели Навигации и Панели Инструментов.
Следующий пример показывает, как вызвать метод Show в процедуре события Click кнопки cmdShow. Вы можете попробовать вызов с другими параметрами, чтобы управлять окном Справки.
Private Sub cmdShow_Click()
Dim strFile As String
Dim objHelp As CHelp
Set objHelp = New CHelp
strFile = App.Path & "\HelpFiles\HTMLHelp.chm"
Call objHelp.Show(strFile, "MyWindow"
Set objHelp = Nothing
End Sub