.chm (HTML Help) file ne bi trebala da "ubacujes" u aplikaciju, taj fajl ide uz .exe (mada mozes da ubacis .chm u resource, ali to nije preporucljivo)
jednostavno samo stavi .chm u isti folder sa tvojom aplikacijom i onda ga pozoves preko shell-a:
Public Sub runHelp()
Dim chm As String
chm = App.Path
If Right$(chm, 1) <> "\" Then chm = chm & "\"
chm = chm & "Help.chm" 'ovde promeni ako ti se fajl zove drugacije
'prvo proveri da li fajl postoji:
If Dir(chm) = vbNUllString Then 'znaci da ne postoji
Call MsgBox("Help fajl nije pronadjen!") 'ili uradi ovde sta hoces
Else
Call Shell(chm, vbNormalFocus)
End If
End Sub
i kad ti treba help samo pozoves runHelp
a ako hoces da prikazes odredjeni topic, onda moras da koristis API:
Const HH_DISPLAY_TOPIC = &H0
Const HH_SET_WIN_TYPE = &H4
Const HH_GET_WIN_TYPE = &H5
Const HH_GET_WIN_HANDLE = &H6
Const HH_DISPLAY_TEXT_POPUP = &HE ' Display string resource ID or text in a pop-up window.
Const HH_HELP_CONTEXT = &HF ' Display mapped numeric value in dwData.
Const HH_TP_HELP_CONTEXTMENU = &H10 ' Text pop-up help, similar to WinHelp's HELP_CONTEXTMENU.
Const HH_TP_HELP_WM_HELP = &H11 ' text pop-up help, similar to WinHelp's HELP_WM_HELP.
Const HH_CLOSE_ALL = &H12
Private 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
Private Sub Form_Load()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim hwndHelp As Long
'The return value is the window handle of the created help window.
hwndHelp = HtmlHelp(hWnd, "myfile.chm", HH_DISPLAY_TOPIC, 0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
HtmlHelp Me.hWnd, "", HH_CLOSE_ALL, 0
End Sub
Pozdrav
|