Программирование на Visual Basic | Microsoft Access. Как вызвать справочный файл формата chm ?

В этом разделе сайта находятся примеры из сборника программ "Архив файлов на Microsoft Access". В нем рассказывается о программировании форм, отчетов, таблиц и других объектов. Используйте этот архив для изучения работы с приложением Microsoft Office Access и программированием на Visual Basic for Application. Тем кто уже знаком с VBA, используйте поиск для нахождения кодов. Наберите, например, DAO, ADO, Recordset и найдете нужную ссылку для решения проблемы с программированием

Microsoft Access. Как вызвать справочный файл формата chm ?

Небольшой пример для использования файла справки в Access

' Вызов справки
Private Sub butHelp1_Click()
    Me.Refresh
    Const intHelpFile As Long = 1
    Const IdTopic As Long = 5

    Select Case Me.HelpID
    Case 1:  HtmlHelp hwnd, HFile(intHelpFile), HH_DISPLAY_TOC, 0
    Case 2:  HtmlHelp hwnd, HFile(intHelpFile), HH_DISPLAY_INDEX, 0
    Case 3:  HTMLHelpTopic hwnd, HFile(intHelpFile), HH_DISPLAY_TOPIC, Me.Topic
    Case 4:  HtmlHelp hwnd, HFile(intHelpFile), HH_HELP_CONTEXT, IdTopic
    Case 5:  ShowSearch (intHelpFile)
    End Select
End Sub

' Найти справочный файл
Public Function HFile(ByVal i_HFile As Integer) As String
  Select Case i_HFile
  Case 1:    HFile = Application.CodeProject.Path  "\help\Автоматизация.chm"
  Case 2:    HFile = Application.CodeProject.Path  "\help\Лекции Access.chm"
  End Select
  If Dir(HFile, vbNormal) = "" Then MsgBox "Файл не существует: "  HFile
End Function

'----- Отобразить вкладку поиска
'----- Ошибка: start searching with a string dosn't work
'
Public Sub ShowSearch(ByVal intHelpFile As Integer)
Dim searchIt As HH_FTS_QUERY
  With searchIt
    .cbStruct = Len(searchIt)
    .fUniCodeStrings = 1
    .pszSearchQuery = "Папка"
    .iProximity = 0
    .fStemmedSearch = 0
    .fTitleOnly = 1
    .fExecute = 1
    .pszWindow = ""
  End With
  Call HtmlHelpSearch(0, HFile(intHelpFile), HH_DISPLAY_SEARCH, searchIt)
End Sub

' http://www.help-info.de/en/Help_Info_HTMLHelp/hh_api.htm#VB6
Type HH_IDPAIR
  dwControlId As Long
  dwTopicId As Long
End Type

'This array should contain the number of controls that have
'context-sensitive help, plus one more for a zero-terminating
'pair.

Public ids(2) As HH_IDPAIR

Declare Function GetDlgCtrlID Lib "user32" _
  (ByVal hwnd As Long) As Long

Public 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
                
Public Declare Function HTMLHelpTopic Lib "hhctrl.ocx" Alias "HtmlHelpA" _
               (ByVal hwndCaller As Long, ByVal pszFile As String, _
                ByVal uCommand As Long, ByVal dwData As String) As Long
         
Public Declare Function HtmlHelpSearch Lib "hhctrl.ocx" Alias "HtmlHelpA" _
               (ByVal hwndCaller As Long, ByVal pszFile As String, _
                ByVal uCommand As Long, dwData As HH_FTS_QUERY) As Long
         

Public Const HH_DISPLAY_TOPIC = H0         ' select last opened tab, [display a specified topic]
Public Const HH_DISPLAY_TOC = H1           ' select contents tab, [display a specified topic]
Public Const HH_DISPLAY_INDEX = H2         ' select index tab and searches for a keyword
Public Const HH_DISPLAY_SEARCH = H3        ' select search tab and perform a search
      
Private Const HH_SET_WIN_TYPE = H4
Private Const HH_GET_WIN_TYPE = H5
Private Const HH_GET_WIN_HANDLE = H6
Private Const HH_DISPLAY_TEXT_POPUP = HE   ' Display string resource ID or
  
Public Const HH_HELP_CONTEXT = HF          ' display mapped numeric value in dwData
     
Private Const HH_TP_HELP_CONTEXTMENU = H10 ' Text pop-up help, similar to WinHelp's HELP_CONTEXTMENU.
Private Const HH_TP_HELP_WM_HELP = H11     ' text pop-up help, similar to WinHelp's HELP_WM_HELP.


Public Type HH_FTS_QUERY                ' UDT for accessing the Search tab
  cbStruct          As Long             ' Sizeof structure in bytes.
  fUniCodeStrings   As Long             ' TRUE if all strings are unicode.
  pszSearchQuery    As String           ' String containing the search query.
  iProximity        As Long             ' Word proximity.
  fStemmedSearch    As Long             ' TRUE for StemmedSearch only.
  fTitleOnly        As Long             ' TRUE for Title search only.
  fExecute          As Long             ' TRUE to initiate the search.
  pszWindow         As String           ' Window to display in
End Type

Добавить комментарий

Loading