Доступ к справочной системе Windows
Доступ к справочной системе Windows
Для доступа к справочной системе можно использовать метод ShowHelp обычной диалоговой панели. Далее приведена последовательность действий, которые необходимо для этого выполнить:
Добавитъ ооычныч аналоговый управляющий элемент в то место формы, где надо использовать средство справочной системы Windows.
Установить соответствующие значения для свойств HelpFile u HelpCommand управляющего элемента CommonDialog.
Например, если надо использовать метод ShowHelp для получения контекстно-зависимой подсказки:
Назначить свойству HelpFile имя скомпилированного файла справки.
Установить для свойства HelpCommand -значение cdlHelpContext.
Установить соответствующее значение контекстного номера ID для свойства HelpContext.
И. наконец, можно вызвать справочную систему при номоиш метода ShowHeIn
Если необходимо вызвать справочную систему самой системы Windows (например, для получения доступа к экрану Windows "Help on Help"), необходимо вызвать API - функцию WinHelp. Для этого необходимо добавить в приложение соответствующий фрагмент кода. Для 32-битной версии справочной системы это может быть такой фрагмент:
Declare Function WinHeip Lib "user32" Alias "WinHelpA" (ByVal hHnd As Long, ByVal IpHclpFu
As String, ByVal wCommand As Long, ByVal dwData As Long) As Long
Параметр hWnd ("window's handle) является параметром свойства hWnd рабочей формы. Параметр IpHelpF указывает путь к файлу справки (этот файл находится в директории, отличном от директория .ехе-файлов). Мог понадобиться следующие константы, используемые параметром wCommand:
Global Const HELP CONTEXT = &H1 'Display topic by id number
Global Const HELP QUIT -- &H2 'Terminate help
Global Const HELP INDEX = &H3 'Display index
Global Const HELP HELPONHELP = &H4 'Display help on using help
Global Const HELP SETINDEX = &H5 'Set an alternate Index
Global Const HELP KEY = &H101 ' Display topic for keyword in Data
Global Const HELP MULTIKEY = &H201 'Look up keyword in alternate table
Например, для того, чтобы вызвать стандартную справочную систему "Help on Help", необходимо испольвать следующую процедуру:
Public Sub DisplayHelp On Help(X As Form)
Dim Foo As Long ' dummy variable
Foo = WinHeip(X.hWnd,"C:\WINDOWS\HELP\WINDOWS.HLP",
HELP HELPONHELP,CLng(O))
End Sub
После этого любая строка вида
DisplayHelp_On_Help_Me
будет вызывать стандартную справочную систему Windows.
Примечание:
Примечание:
После присвоения параметру hCommand значения HELP_CONTEXT следует установить для параметра dwData соответствующий номер ID контекстной строки.
Если для вызова справочной системы используется WinHeip API, то для того чтобы закрыть дополнительные окна справки, вам нужно снова вызвать функцию WinHeip API (т.к. справочная система Windows является отдельным приложением). Это можно сделать следующим образом (обычно для этого используется событие Form Unload). Переменные Foo и Bar должны иметь правильный тип, хотя реально они не несут никакой полезной нагрузки.
Sub Form_Unload(Cancel As Integer)
Dim Foo As Integer, Bar As String 'dummy variables
Foo = WinHeip(Me.hWnd, Bar, Help_Quit, CLng(O))
End Sub