Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > Legacy Documents > User Experience >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Displaying Help


Q: My application's help is provided in a collection of HTML files viewable in the Help Viewer. What is the quickest way to display information about a particular topic?

A: Your application can call the AHLookupAnchor routine to display help about particular topics in your help files. AHLookupAnchor asks the Help Viewer to search your application's help book and present the page containing a particular HTML anchor scrolled so the anchor's location is visible.




     /* GoToMyHelpAnchor can be used to tell Apple Help to find
    the page containing the named anchor and display the text
    immediately below that anchor in the main view.

    anchorName - the name of the anchor you would like to display.
    This routine illustrates a convenient way to use the AHLookupAnchor
    routine to look up anchors in your application's help book.  */

OSStatus GoToMyHelpAnchor(CFStringRef anchorName) {
    CFBundleRef myAppsBundle;
    CFTypeRef myBookName;
    OSStatus err;

        /* set up a known state */
    myAppsBundle = NULL;
    myBookName = NULL;

        /* Get our application's main bundle
        from Core Foundation */
    myAppsBundle = CFBundleGetMainBundle();
    if (myAppsBundle == NULL) { err = fnfErr; goto bail; }

        /* get the help book's name */
    myBookName = CFBundleGetValueForInfoDictionaryKey(
                   myAppsBundle, CFSTR("CFBundleHelpBookName"));
    if (myAppsBundle == NULL) { err = fnfErr; goto bail; }

        /* go to the page */
    err = AHLookupAnchor( myBookName, anchorName);
    if (err != noErr) goto bail;

        /* done */
    return noErr;
bail:
    return err;
}

Examples:

err = GoToMyHelpAnchor(CFSTR("surfing"));
err = GoToMyHelpAnchor(CFSTR("seaboards"));

Listing 1. Displaying help using the AHLookupAnchor routine.



Using AHLookupAnchor in your application means your application does not need to keep track of the names of the files where particular help content appears - your application only needs to track the anchor name used to locate particular help content.

This allows your help content creators greater freedom when designing and maintaining your help content as they can move information from file to file or redesign the look of your help pages without worrying about the help book getting out of sync with how your application asks the Help Viewer to present information about particular topics.


[Feb 21 2001]