Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Создание chm-справки с переходами Добавлено: 23.04.07 23:39  

Автор вопроса:  Алексей
Здравствуйте!

Нужно создать справку по пакету программ в chm формате! С созданием нет проблем. Вопрос вот в чем(как бы лучше сформулировать) справка имеет иерахическую структуру в виде дерева (ну обычная chm справка), как сделать так так чтобы при запуске справки раскрывалась нужная ветвь справки? Как я предполагаю chm файлу нужно передать какого либо рода метку чтобы справка развернулась на нужном раздел!

Заранее спасибо!

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 24.04.07 11:13
Вроде как в свойствах проекта в HTML Help Workshop можно указывать стартовую страницу

Ответить

Номер ответа: 2
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 24.04.07 13:34
Вроде как в свойствах проекта в HTML Help Workshop можно указывать стартовую страницу

как я понял, вопрос немного не в этом, а в том, дабы нужный раздел открывался в зависимости от внешних причин.

Ответить

Номер ответа: 3
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #3
Добавлено: 24.04.07 14:33
Может передавать адрес страницы.А вобще возьми чужую прогу замени ейо *.chm на свой ехе файл которий при запуске видаст пердаваемою команду в реестре поминяй штоб chm запускалса как ехе и все.Обращайся в icq за деталямы 408802757

Ответить

Номер ответа: 4
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #4
Добавлено: 24.04.07 14:35
Может передавать адрес страницы.А вобще возьми чужую прогу замени ейо *.chm на свой ехе файл которий при запуске видаст пердаваемою команду в реестре поминяй штоб chm запускалса как ехе и все.Обращайся в icq за деталямы 408802757

Ответить

Номер ответа: 5
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #5
Добавлено: 24.04.07 14:42
Павел или UU зделайте так если остане ответ равен придидущому -не сохраняем

Ответить

Номер ответа: 6
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #6
Добавлено: 24.04.07 15:20
Остане=конечне

Ответить

Номер ответа: 7
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #7
Добавлено: 24.04.07 15:20
Остане=конечне

Ответить

Номер ответа: 8
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #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-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 24.04.07 18:53
А, да. Получить этот адрес можно, открыв нужную страницу chm, запустить можно так: hh "this_link"

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 24.04.07 18:54
И снова не закончил предложение, нужно открыть нужную страницу chm, правой кнопкой, свойства, URL

Ответить

Номер ответа: 11
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #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

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам