Det ska räcka med
App.HelpFile = <sökväg till hjälpfil>
eller att ange den under Project -> Properties -> Help File Name.
4 svar · 421 visningar · startad av saw
Jag har ett program Help & Manual, som gör hjälpfiler väldigt fina, och sparar det som chm.
Vad som därimot inte framgår är, hur f-n kan jag visa upp hjälpfilen?
Det finns en ruta med Help_Context Number, och det har jag fullt i (jag börjar med nr 1)
I formen so har jag fyllt i samma nr i HelpContextID.
Men jag får inte upp någonting.
Vad gör jag för fel.
Jag antar att jag måste skriva någon kod, men vad och var?
Tacksam för hjälp
PS
Mitt lilla projekt har nu gått strållande och jag är inne på avslutningsfasen.
DS
Det ska räcka med
App.HelpFile = <sökväg till hjälpfil>
eller att ange den under Project -> Properties -> Help File Name.
Här får du lite tips om hur du skall öppna kompilerade hjälpfiler(.chm) och vanliga *.hlp.
I denna ActiveX-fil finns funktionen som gör jobbet med att visa *chm-filer (Hhctrl.ocx).
Skapa en knapp med standard namnet Command1, skapa en modul med namnet HtmlHelp.bas. Klistra in rätt kod på rätt plats sen är det bara att köra.
Jag visar både hur vanliga hjälpfiler + hur kompilerade htmlfiler öppnas.
Öppna *.chm(kompilerade html filer) filer.
Private Sub Command1_Click()
Call ChmHelp(Me.hwnd, AppPath & "*.CHM")
End Sub
'//// AppPath ////////////////////////////////
Public Function AppPath() As String
Dim strpath As String
strpath = App.Path
If Right$(strpath, 1) <> "" Then strpath = strpath & ""
AppPath = strpath
End Function
'///////// AppPath slut /////////////////////
'///////// HtmlHelp.bas //////////////////////
Option Explicit
'ProgWindow : Ditt programfönster = Me.hwnd
'HelpFile : Sökväg till .CHM filen som skall visas
'[ContextID] : Vilket hjälpavsnitt som skall visas. Root = 0
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.
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
Public Function ChmHelp(ProgWindow As Long, HelpFile As String, Optional ContextID As Variant = 0) As Long
Call HtmlHelp(ProgWindow, HelpFile, HH_DISPLAY_TOPIC, ContextID)
'Hjälpavsnitt som skall visas
'HtmlHelp(ProgWindow, HelpFile, HH_HELP_CONTEXT, ContextID)
End Function
'///////// Slut HtmlHelp.bas /////////////////////
'//Slut på Öppna *.chm filer.
' ///////// Öppna *.hlp filer //////////
Private Sub Command1_Click()
'dlgOpenHelp = Objektet CommonDialog
With dlgOpenHelp
.HelpFile = AppPath & "*.HLP"
.HelpContext = 1
.HelpCommand = cdlHelpContext
.ShowHelp
End With
End Sub
' ///////// Öppna *.hlp filer //////////
// Hoppas att det hjälper dig.
Jag skulle iaf ha använt denna (mycket kortare) kod tillsammans med niko's kod till att visa hjälpfilen med.
Private Declare Function OSWinHelp Lib "user32" Alias "WinHelpA" _
(ByVal hwnd As Long, ByVal HelpFile As String, ByVal wCommand As Integer, dwData As Any) As Integer
OSWinHelp Me.hWnd, App.HelpFile, 3, 0
R// Fast det är ju då en .hlp-fil men spela roll?
Tack för hjälpen.
Jag hittade (efter mycket sökande) detta på Microsoft sida
'i modul
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
Global Const HH_DISPLAY_TOPIC = &H0
Global Const HH_HELP_CONTEXT = &HF
'i formulär
Dim nRet As Long
App.HelpFile = App.path & "\Help\MultiLanguage.chm"
nRet = HtmlHelp(Me.hwnd, App.HelpFile, HH_DISPLAY_TOPIC, 0)
Detta fungerar helt kanon.
Tack för att ni ville hjälpa mig