● ヘルプファイルを表示する ●

個人的にヘルプファイルは大好き。便利だし、作るのも面白いし。
そんなわけで使えそうな機能を関数でまとめたみた。

Private Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal hWnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData As Long) As Long

Private Const HELP_CONTEXT = &H1      '特定のページを呼び出す
Private Const HELP_INDEX = &H3           '目次のページを呼び出す
Private Const HELP_HELPONHELP = &H4 'ヘルプの使い方を呼び出す
Private Const HELP_PARTIALKEY = &H105    '目次トピックを呼び出す
Private Const HELP_FINDER = &HB        '目次メージを呼び出す

'---------------------------------------------------------------------
' 関数名 : ExecuteHelpFile
' 機能 : ヘルプファイルを起動・終了(etc...)する
' 引数 : (in) hWnd … 呼び出し側のウインドウハンドル
'          (in) sFileName … ヘルプファイルのフルパス
'          (in) sMessage … 0:特定のページを呼び出す
'                              1:目次のページを呼び出す
'                              2:ヘルプの使い方を呼び出す
'                              3:目次トピックを呼び出す
'                              4:目次ページを呼び出す
'          (in) sID … sMessage で0をした場合、コンテキストIDを指定
' 戻り値 : なし
'---------------------------------------------------------------------
Public Sub ExecuteHelpFile(ByVal hWnd As Long, ByVal sFileName As String, _
                          ByVal sMessage As Integer, Optional ByVal sID As Long = 0)

    Dim WinHelpMes As Long

    Select Case sMessage
          Case 0
                WinHelpMes = HELP_CONTEXT
          Case 1
                WinHelpMes = HELP_INDEX
          Case 2
                WinHelpMes = HELP_HELPONHELP
          Case 3
                WinHelpMes = HELP_PARTIALKEY
          Case 4
                WinHelpMes = HELP_FINDER
    End Select

    Call WinHelp(hWnd, sFileName, WinHelpMes, sID)

End Sub

エラーハンドリングはしてないけど、必要があれば各自で組み込んでください。


戻る