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

Для версии этой статьи Microsoft Access 97 см.

Аннотация

Одной из альтернатив отображения системы онлайн-справки приложения в отдельном окне является отображение ее в небольшом затененных всплывающих окнах в приложении. Для этого можно использовать функцию Windows API WinHelp() с HELP_CONTEXTPOPUP аргументом. В этой статье показано, как реализовать такую систему справки. В этой статье предполагается, что вы знакомы с использованием Microsoft Windows Help Workshop для создания файлов справки Windows.

Дополнительная информация

Функция Windows API WinHelp() поддерживает большое количество опций. Опция HELP_CONTEXTPOPUP открывает затененные всплывающие окна, в которых вы можете отображать Справку. Это окно похоже на окно, которое открывается при нажатии на глоссарий (зеленый, подчеркнутый текст) в системе справки майкрософт. Чтобы реализовать эту функцию, выполните следующие действия:

  • Создайте рабочую систему справки, установив свойства HelpContextID и HelpFile для ваших форм в действительный файл справки Windows.

  • Перенаправьте ключ F1 на вызов функции, определяемой пользователем, которая открывает файл справки с помощью опции HELP_CONTEXTPOPUP.

Обратите внимание, что прыжки или ветвления на другие темы справки из всплывающего окна справки не поддерживаются методами, обсуждаемым в этой статье. Следующие шаги описывают, как создать функцию, определяемую пользователем, чтобы открыть всплывающее окно справки и как перенаправить ключ F1: ПРЕСТЕР:Если вы выполните шаги в этом примере, вы измените образец базы данных Northwind.mdb. Вы можете создать резервную копию файла Northwind.mdb и выполнить следующие шаги на копии базы данных.

Доступ 2000, Доступ 2002 и Доступ 2003

  1. Запуск доступа к Microsoft

  2. Откройте выборочную базу данных Northwind.mdb или образец проекта NorthwindCS.adp.

  3. В окне базы данных, под разделом «Объекты»,нажмите Модули.

  4. Нажмите кнопку Создать.

  5. В элементарном редакторе введите или вставьте следующий код в разделе Декларации:

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    ПРИМЕЧАНИЕ: В существующей библиотеке Microsoft Access могут быть определены некоторые функции Microsoft Windows API; поэтому ваши декларации могут быть дубликатами. Если вы получили сообщение об ошибке с именем дубликата процедуры, удалите или прокомментируйте заявление о декларациях в коде.

  6. Придавите следующий код в визуальном базовом редакторе:

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  7. Сохранить модуль как HelpModule.

  8. Закройте визуальный базовый редактор.

  9. В окне базы данных, под разделом Объектов,нажмите Макрос.

  10. Нажмите кнопку Создать.

  11. Создайте следующий новый макрос, чтобы перенаправить клавишу F1: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  12. Сохранить макрос как AutoKeys, а затем закрыть макрос.

  13. В окне базы данных, под разделом «Объекты»,нажмите Формы.

  14. В правом стеку, дважды щелкните поставщиков.

  15. Нажмите на клавишу F1.

Обратите внимание, что Microsoft Access отображает в всплывающем окне сообщение справки, соответствующее helpContextID элемента управления или формы.

Доступ 2007

  1. Запуск доступа к Microsoft

  2. Откройте выборочную базу данных Northwind2007.accdb.

  3. На вкладке Создать, нажмите вниз стрелка ниже Макро, а затем нажмите Модуль.

  4. В элементарном редакторе вставьте следующий пример кода в разделе Декларации.

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    Заметка В существующей библиотеке Microsoft Access могут быть определены некоторые функции Microsoft Windows API; поэтому ваши декларации могут быть дубликатами. Если вы получили сообщение об ошибке с именем дубликата процедуры, удалите или прокомментируйте заявление о декларациях в коде.

  5. Привизите следующий пример кода в visual Basic Editor.

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  6. Сохранить модуль в качестве HelpModule.

  7. Закройте визуальный базовый редактор.

  8. На вкладке «Создать» нажмите Макро.

  9. Создайте следующий новый макрос, чтобы перенаправить клавишу F1: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  10. Сохранить макрос как AutoKeys, а затем закрыть макрос.

  11. Нажмите Поставщики в левом стеле.

  12. В левой панели, дважды щелкните Список поставщиков.

  13. Нажмите на клавишу F1.

Обратите внимание, что Microsoft Access отображает в всплывающем окне сообщение справки, соответствующее helpContextID элемента управления или формы.

Ссылки

Для получения дополнительной информации щелкните приведенные ниже номера статей базы знаний Майкрософт:

828419 Как создать систему справки HTML, используя либо API HTMLHelp, либо HTML Help in Access

242433 Как создать чувствительные к контексту HTML Справка

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×