HTMLヘルプを開く          <TOP>


HTMLヘルプを開きます。

HtmlHelp HTMLヘルプウィンドウを表示する関数

HtmlHelpTopic 検索語でHTMLヘルプを開く

 

例では、メモ帳のHTML Help 入門を開いています。(Windows xp からnotepad.chm をコピーして動かしています。)

 

'================================================================
'= HTMLヘルプを開く
'=    (Htmlhelp.bas)
'================================================================
#include "Windows.bi"

#define HH_DISPLAY_TOPIC &H0            'ヘルプトピックを開く
#define HH_DISPLAY_TOC &H1              '[目次]タブを選択
#define HH_DISPLAY_INDEX &H2            'キーワード表示
#define HH_DISPLAY_SEARCH &H3           '[検索]タブを選択
#define HH_DISPLAY_TEXT_POPUP &HE       '明示的テキスト文字列、リソースIDに基づいたテキスト文字列などを開く
#define HH_SET_WIN_TYPE &H4             'ヘルプウィンドウの実行時に、新しいヘルプ ウィンドウを作成するか、または既存のヘルプウィンドウを変更
#define HH_GET_WIN_TYPE &H5             '指定されたウィンドウタイプに関連付けられたHH_WINTYPE構造体へのポインタを取得
#define HH_GET_WIN_HANDLE &H6           '指定されたウィンドウ タイプのウィンドウハンドル(hwnd)を返す
#define HH_HELP_CONTEXT &HF             'dwData(開くページのID)に従う
#define HH_TP_HELP_CONTEXTMENU &H10     'ポップアップコンテキストメニューを開く
#define HH_TP_HELP_WM_HELP &H11         'ポップアップヘルプトピックを開く
#define HH_CLOSE_ALL &H12               'ソフトと同時行動

Var Shared Radio1 As Object
Var Shared Radio2 As Object
Var Shared Button1 As Object
Var Shared Button2 As Object

Radio1.Attach GetDlgItem("Radio1") : Radio1.SetFontSize 14
Radio2.Attach GetDlgItem("Radio2") : Radio2.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14
Button2.Attach GetDlgItem("Button2") : Button2.SetFontSize 14
' HTMLヘルプウィンドウを表示する関数
Declare Function Api_HtmlHelp& Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller&, ByVal pszFile$, ByVal uCommand&, ByVal dwData&)

' 検索語でHTMLヘルプを開く
Declare Function Api_HtmlHelpTopic& Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hWnd&, ByVal lpHelpFile$, ByVal wCommand&, ByVal dwData$)

Declare Sub HelpClose()

'================================================================
'=
'================================================================
Declare Function Index bdecl () As Integer
Function Index()
    Index = Val(Mid$(GetDlgRadioSelect("Radio1"), 6)) - 1
End Function

'================================================================
'= HTMLヘルプ入門を開く
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var FileName As String
    Var Ret As Long

   'Windows xp から notepad.chm をコピーしています。
    FileName = "c:\Windows\help\notepad.chm"

    If Index = 0 Then
        Ret = Api_HtmlHelp(GethWnd, FileName, HH_DISPLAY_TOC, 0)
    Else
        Ret = Api_HtmlHelpTopic(GethWnd, FileName, HH_DISPLAY_INDEX, "コピー")
    End If
End Sub

'================================================================
'=
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
    HelpClose
End Sub

'================================================================
'=
'================================================================
Declare Sub MainForm_QueryClose edecl (Cancel As Integer, Mode As Integer)
Sub MainForm_QueryClose(Cancel As Integer, Mode As Integer)
    Var Ret As Long

    HelpClose
    If Cancel = 0 Then End 
End Sub

'================================================================
'=
'================================================================
Sub HelpClose()
    Var Ret As Long

    Ret = Api_HtmlHelp(GethWnd, "", HH_CLOSE_ALL, 0)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End