Avanzate: richiede competenze esperte di codifica, interoperabilità e multiutente.

Per una versione di questo articolo di Microsoft Access 97, vedere 141621.

Riepilogo

Un'alternativa alla visualizzazione della Guida in linea dell'applicazione in una finestra separata consiste nel visualizzarla in una piccola finestra popup ombreggiata nell'applicazione. A tale scopo, è possibile utilizzare la funzione WinHelp() dell'API Windows con il relativo argomento HELP_CONTEXTPOPUP. In questo articolo viene illustrato come implementare una Guida in linea di questo tipo. In questo articolo si presuppone che l'utente abbia familiarità con l'utilizzo di Microsoft Windows Help Workshop per creare file della Guida di Windows.

Ulteriori informazioni

La funzione WinHelp() dell'API Windows supporta un numero elevato di opzioni. L'opzione HELP_CONTEXTPOPUP apre una finestra popup ombreggiata in cui è possibile visualizzare la Guida. Questa finestra è simile alla finestra che si apre quando si fa clic su una voce di glossario (testo verde sottolineato) nella Guida in linea di Microsoft Access. Per implementare questa funzionalità, attenersi alla seguente procedura:

  • Creare una Guida funzionante impostando le proprietà HelpContextID e HelpFile per i form su un file della Guida di Windows valido.

  • Reindirizzare il tasto F1 per chiamare una funzione definita dall'utente che apre il file della Guida utilizzando l'opzione HELP_CONTEXTPOPUP.

Si noti che il salto o la diramazione ad altri argomenti della Guida dalla finestra popup della Guida non è supportata dai metodi descritti in questo articolo. Nei passaggi seguenti viene descritto come creare la funzione definita dall'utente per aprire la finestra della Guida popup e come reindirizzare la chiave F1: ATERAzione: se si esegue la procedura descritta in questo esempio, si modifica il database di esempio Northwind.mdb. È possibile eseguire il backup del file Northwind.mdb e attenersi alla seguente procedura su una copia del database.

Access 2000, Access 2002 e Access 2003

  1. Avviare Microsoft Access

  2. Aprire il database di esempio Northwind.mdb o il progetto di esempio NorthwindCS.adp.

  3. Nella sezione Oggettidella finestra Del database fare clic su Moduli.

  4. Fare clic su Nuovo.

  5. In Visual Basic Editor digitare o incollare il codice seguente nella sezione Dichiarazioni:

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    NOTA: È possibile che alcune funzioni API di Microsoft Windows siano definite in una libreria di Microsoft Access esistente; pertanto, le dichiarazioni possono essere duplicati. Se viene visualizzato un messaggio di errore relativo al nome di routine duplicato, rimuovere o impostare come commento l'istruzione delle dichiarazioni nel codice.

  6. Aggiungere il codice seguente in Visual Basic Editor:

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  7. Salvare il modulo come HelpModule.

  8. Chiudere Visual Basic Editor.

  9. Nella sezione Oggettidella finestra del database fare clic su Macro.

  10. Fare clic su Nuovo.

  11. Creare la nuova macro seguente per reindirizzare il tasto F1: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  12. Salvare la macro come AutoKeys, quindi chiudere la macro.

  13. Nella sezione Oggettidella finestra Del Database fare clic su Moduli.

  14. Nel riquadro destro fare doppio clic su Fornitori.

  15. Premere il tasto F1.

Si osservi che Microsoft Access visualizza il messaggio della Guida, corrispondente al helpContextID del controllo o della maschera, in una finestra popup.

Access 2007

  1. Avviare Microsoft Access

  2. Aprire il database di esempio Northwind2007.accdb.

  3. Nella scheda Crea fare clic sulla freccia in giù sotto Macroe quindi su Modulo.

  4. In Visual Basic Editor incollare l'esempio di codice seguente nella sezione Dichiarazioni .

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    Nota: È possibile che alcune funzioni API di Microsoft Windows siano definite in una libreria di Microsoft Access esistente. pertanto, le dichiarazioni possono essere duplicati. Se viene visualizzato un messaggio di errore relativo al nome di routine duplicato, rimuovere o impostare come commento l'istruzione delle dichiarazioni nel codice.

  5. Aggiungere l'esempio di codice seguente in Visual Basic Editor.

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  6. Salvare il modulo come HelpModule.

  7. Chiudere Visual Basic Editor.

  8. Nella scheda Crea fare clic su Macro.

  9. Creare la nuova macro seguente per reindirizzare il tasto F1: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  10. Salvare la macro come AutoKeys, quindi chiudere la macro.

  11. Fare clic su Fornitori nel riquadro sinistro.

  12. Nel riquadro sinistro fare doppio clic su Elenco fornitori.

  13. Premere il tasto F1.

Si osservi che Microsoft Access visualizza il messaggio della Guida, corrispondente al helpContextID del controllo o della maschera, in una finestra popup.

Riferimenti

Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:

828419 come creare una guida HTML utilizzando l'API HTMLHelp o la Guida HTML in Access

242433 Come creare file della Guida HTML sensibili al contesto

Serve aiuto?

Amplia le tue competenze

Esplora i corsi di formazione >

Ottieni in anticipo le nuove caratteristiche

Partecipa a Microsoft Insider >

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×