Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

ACC: How to Create Pop-up Context-Sensitive Help (95/97)


View products that this article applies to.

Summary

One alternative to displaying your application's online Help system in a separate window is to display it in a small, shaded pop-up window within your application. To do this, you can use the Windows API WinHelp() function with its HELP_CONTEXTPOPUP argument. This article shows you how to implement such a Help system. Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. This article also assumes that you are familiar with using the Windows Help Workshop to create Windows Help files.

↑ Back to the top


More information

The Windows API WinHelp() function supports a large number of options. The HELP_CONTEXTPOPUP option opens a shaded pop-up window for you to display Help in. This window is similar to the window that opens when you click a glossary entry (green, underlined text) in the Microsoft Access Help system.

To implement this feature you need to do the following:

  • Create a working Help system by setting the HelpContextID and HelpFile properties for your forms to a valid Windows Help file.
  • Redirect the F1 key to call a user-defined function that opens the Help file using the HELP_CONTEXTPOPUP option.
Note that jumping or branching to other Help topics from the pop-up Help window is not supported by the methods discussed in this article.

The following steps describe how to create the user-defined function to open the pop-up Help window and how to redirect the F1 key:

  1. Create a module and type the following lines in the Declarations section:

    NOTE: You may have some Microsoft Windows API functions defined in an existing Microsoft Access library; therefore, your declarations may be duplicates. If you receive a duplicate procedure name error message, remove or comment out the declarations statement in your code.
    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
       Public Const HELP_CONTEXTPOPUP = &H8&
    
       
    						
  2. Type the following procedure:
    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.
       If Cid > 0 And Cid < 32767 Then
          Result = WinHelp(Application.hWndAccessApp, "C:\Myhelp.Hlp", _
          HELP_CONTEXTPOPUP, Cid)
          Help32 = True
       End If
    
    Help32_End:
       Exit Function
    
    Help32_Err:
       MsgBox Err.Description
       Resume Help32_End
    End Function
    						
  3. Create the following new macro named AutoKeys to redirect the F1 key:
       Macro Name   Condition   Action
       --------------------------------
       {F1}                     RunCode
    
       AutoKeys Action
       -------------------------
       RunCode
       Function Name: Help32()<BR/>
    						

↑ Back to the top


References

For more information about creating Help files, refer to the online Help supplied Windows Help Workshop and the Help Workshop's training Cards.

For more information about HelpContextID, search the Help Index for "HelpContextID" or ask the Microsoft Access 97 Office Assistant.

↑ Back to the top


Properties

Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

↑ Back to the top


Keywords: kbhowto, kbprogramming, kbusage, KB141621

↑ Back to the top

Article Info
Article ID : 141621
Revision : 7
Created on : 1/19/2007
Published on : 1/19/2007
Exists online : False
Views : 427