Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Visualizzazione guida tramite menu

E' mezz'ora che cerco su internet e nella guida di VB ma non trovo nulla.
Vorrei inserire in un menu un bel punto di domanda in modo che l'utente 
cliccandoci sopra possa visualizzare una guida.
La guida e' di tipo winhelp (.hlp).
L'unico modo che ho trovato sin'ora implica la presenza di un 
commondialog e l'invocazione del suo metodo showhelp.
Possibile che non esista altro modo?
grazie
	maxx

Con le guide HTML (formato chm) funziona:
usa ShellExecute (o magari ShellExecuteEx), fornendo come parametro il percorso del file della guida.
(se non funziona con i file winhelp, ecco un motivo in più per passare ai chm; esistono molti tool che lo fanno in modo automatico...)

Il 28/07/2005 14.05, Francesco Malandrino scrisse:

Mi e' venuto in mente shell poco dopo aver postato.
A me winhelp non dispiace ed e' un po' piu' semplice gestire i tag 
all'interno di vb.
grazie
	maxx

 ha scritto nel messaggio
news:qU3Ge.41522$b93....@tornado.fastwebnet.it...

Per l'help "classico" usa l'API WinHelp:
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
Per l'help HTML compilato, usa l'API HTMLHelp
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
Esempio in cui in App.HelpFile hai correttamente impostato il nome del file .hlp
o .chm e in cui hai definito una costante di compilazione condizionale HELP_HTML
per discriminare tra le due modalità:
Private Sub mnuHelpIndex_Click()
Private Const HELP_INDEX = &H3
Private Const HH_DISPLAY_INDEX = &H2
#If HELP_HTML Then
    HTMLHelp Me.hwnd, App.HelpFile, HH_DISPLAY_INDEX, 0&
#Else
    WinHelp Me.hwnd, App.HelpFile, HELP_INDEX, 0&
#End If
End Sub
Se usi l'help HTML con Win9x leggi attentamente qui:
http://support.microsoft.com/support/kb/articles/Q244/1/40.ASP
Bye
Raf


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
wCommand e' un valore costante tipo:
Public Const HELP_INDEX = &H3             'Display index
Public Const HELP_PARTIALKEY = &H105      'call the search engine in winhelp
e altri che trovi su MSDN
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown 

 
Cosa ci guadagno ad usare winhelp piuttosto che shellexecute?
Nel contesto della mia domanda, cioe' nel caso in cui cio' che mi serve 
realizzare e' un "pulsantino" che avvia lo help.
grazie
	maxx

 realizzare e' un "pulsantino" che avvia lo help.
Ah beh se č per questo era sufficiente il codice
SendKeys "{F1}"
Bye
Raf

 
Il mio post deriva dal fatto che quel codice non funziona. Lo ho messo qui:
Private Sub mnuHelp_Click()
    SendKeys "{F1}"
End Sub
grazie
	maxx

 End Sub
Hai impostato l'help file giusto nelle proprietà del progetto?
Comunque è strano, l'ho provato anch'io ed effettivamente la prima volta non
funziona.
Solo con file .hlp, però perché con un .chm invece va al primo colpo...
Mah!
Bye
Raf