home *** CD-ROM | disk | FTP | other *** search
- .TOPIC:
- Contents
- The Visual Basic for MS-DOS Help Toolkit makes it easy to add
- hypertext Help to your applications. The text you are reading
- now is a Helpfile. The Help Toolkit is written entirely in
- Visual Basic and can be modified. Help files are standard ASCII
- files that can be edited with most text editors and even by
- Visual Basic itself.
-
- Click the mouse over one of the topics below for more
- information. Or press TAB to select a topic then press ENTER
- to jump to it.
-
- Creating and Editing Help files
- Adding Help to Your Applications
- Using Help
- Customizing the Help Toolkit
- .TOPIC:
- Creating and Editing Help Files
- To create a new Help file:
-
- 1. Determine which topics a user might want Help with.
- 2. Start any text editor that reads and writes ASCII files.
- 3. Create a topic named Contents and type a table of
- contents below. See Creating and Editing Topics.
- Note that the Contents command button will not work
- correctly unless you include a topic named Contents.
- 4. Every entry in the table of contents should be a link
- to a Help topic. See Creating Links
- 5. Create a Help topic for every link in the table of
- contents. See Creating and Editing Topics
- 6. Every Help topic can contain links to other Help topics.
- 7. Help topics do not need to be listed in the table of
- contents.
-
- To edit an existing Help file:
- NOTE: The Help Toolkit cannot access Microsoft .HLP files.
-
- 1. Open the Help file in a text editor that reads and writes
- ASCII files.
- 2. Modify Links and Topics as described above.
-
- See Example Help File
- .TOPIC:
- Creating and Editing Topics
- The Help Toolkit distinguishes Help topics from ordinary
- text by requiring that all topics are formatted in a
- specific way.
-
- 1. The word TOPIC must be on a line by itself, preceeded
- by a period (.) and followed by a colon (:). TOPIC
- must be in uppercase.
- 2. The period must be the first character on the line.
- 3. Only spaces are allowed after the colon.
- 4. The name of the topic itself must be on the line
- immediately below the .TOPIC: statement.
- 5. The topic text should begin on the line after the
- name of the topic.
- 6. The Help Toolkit will not word wrap text. Use the
- ENTER key to break text into reasonable length lines.
- 64 character lines work well because the Help window
- defaults to 66 characters wide.
- 7. The next topic should begin immediately after the last
- line of the current topic.
-
- For example, the following would be a valid topic except
- that the period is the second character on the line not the
- first.
-
- .TOPIC:
- This is a help topic name
- This is the first line a Help topic.
- .
- .
- .
- .
- This is the last line of a Help topic.
-
- See Creating Links Example Help File
- .TOPIC:
- Creating Links
- Links are hot spots that a Help user clicks on to jump
- to a Help topic. Links are ordinary text surrounded by
- special triangle characters (ASCII codes 16 and 17).
-
- Links and Topics must have exactly the same name or the
- Help Toolkit will not be able to find a Topic when a Link
- is clicked.
-
- For example, click on Valid Help Topic to see how Links
- jump to new Topics. And click on Invalid Help Topic to
- see what happens if you create a Link without a matching
- Topic.
-
- See Creating and Editing Topics
- .TOPIC:
- Adding Help to Your Applications
- Necessary Files
- ---------------
- You must add the following files to your project to use
- the Help Toolkit:
-
- 1. HELP.BAS
- 2. HELPF.FRM
- 3. HELPUTIL.FRM
-
- All files that call Help Toolkit routines must also have
- the following statement at the module level:
-
- '$INCLUDE: 'HELP.BI'
-
- Calling Help Toolkit Routines
- -----------------------------
- Required Steps:
-
- 1. Initialize the Help system by calling the
- HelpRegister <HelpFileName$> procedure. You should do this
- when your application starts.
-
- 2. Display Help topics or the table of contents by
- calling HelpShowTopic <HelpTopicName$>. HelpTopicName$
- should be "Contents" to show the table of contents.
-
- 3. Call HelpClose just before your application ends.
- NOTE: You must call HelpClose during a Form_Unload
- event if your application ends when the last form is
- closed rather than by executing an END statement.
- Your application will not end if you fail to do this
- because frmHelpMain is still LOADED although invisible.
-
- Optional:
- 1. Call HelpSetOptions to set Help colors and show/hide
- specific Help command buttons after you call HelpRegister.
- See Help Toolkit Procedures for details.
-
- 2. Call HelpSearch to open Help's Search dialog. Many
- applications have a Search item under their Help menu.
-
- See Example Help Toolkit Application and
- Help Toolkit Procedures for detailed information.
- .TOPIC:
- Valid Help Topic
- You jumped to this topic by clicking the Valid Help Topic
- link.
-
- Click ---> Creating Links or choose the Back command button
- to return.
- .TOPIC:
- Customizing the Help Toolkit
- You can add or remove functionality from the Help Toolkit
- by changing the code in the following files:
-
- 1. HELP.BAS
- 2. HELPF.FRM
- 3. HELPUTIL.FRM
-
- HELP.BAS contains all the application callable procedures
- such as HelpShowTopic and HelpRegister.
-
- HELPF.FRM is the main Help form. It contains the code
- required to display and scroll through Help topics. It
- also has the code used to detect mouse clicks (to jump Links)
- and keyboard support.
-
- HELPUTIL.FRM is a form that serves as the Search dialog, the
- History dialog, and the Copy dialog. It is called from
- HELPF.FRM and HELP.BAS. The look of the form is controlled
- entirely from the cmdButtonBar_Click routine in HELPF.FRM and
- the HelpSearch routine in HELP.BAS.
-
- HELPF.FRM and HELP.BAS use the HELP.BI INCLUDE file.
-
- See Adding Help to Your Applications
- .TOPIC:
- Example Help File
- The following is an example of a small Help file. Note that
- real Help files must be flush left. This example is indented
- one character to stop the Help Toolkit from processing .TOPIC:
- statements. A real Help file would also have ASCII 16 and 17
- characters in place of the > and < symbols used below.
-
- .TOPIC:
- Contents
- Welcome to Bob's Accounting System version 7.1
-
- <Introduction>
- <Adding New Accounts>
- <Ordering Additional Modules>
- .TOPIC:
- Introduction
- Bob's Accounting System is specificially designed for small
- business accounting. It includes modules for <Accounts Payable>
- and <Accounts Receivable>. Other modules may be purchased
- seperately. See <Ordering Additional Modules>
- .TOPIC:
- Adding New Accounts
- Choose New from the Accounts menu.
- You can also press F8.
-
- Note that Bob's Accounting System can store as many accounts
- as disk space allows.
- .TOPIC:
- Accounts Payable
- Access the A/P module through the Payables menu.
-
- Note that A/P entries are automatially added to the general
- ledger when you exit Bob's Accounting System.
-
- See <Accounts Receivable>
- .TOPIC:
- Accounts Receivable
- Access the A/P module through the Receievables menu.
-
- Note that A/R entries are automatially added to the general
- ledger when you exit Bob's Accounting System.
-
- See <Accounts Payable>
- .TOPIC:
- Ordering Additional Modules
- You can call (123) 555-5555 between 9 am and 5 pm to
- inquire about new modules. New modules such as tax, benefits,
- and inventory are scheduled to be ready later this year.
-
- See Creating and Editing Help files
- .TOPIC:
- Example Help Toolkit Application
- The following shows how the Help Toolkit procedures should be
- added to an application. Assume the application is one form
- with menu controls for Help|Contents, Help|Search, and
- Help|Using Help. It also has a Text control named txtFileName
- and a check box named ckReadOnly.
-
- ' Module-level
- '$INCLUDE: 'HELP.BI'
- DIM SHARED HelpLoaded%
-
- SUB Form_Load ()
- HelpRegister "MYHELP.TXT" , HelpLoaded%
-
- ' HelpLoaded% is set to TRUE (-1) if HelpRegister
- ' was successful or to FALSE (0) if it failed.
- IF HelpLoaded% = FALSE THEN
- ' Ensure that Help menu choices cannot
- ' be selected.
- mnuHelpContents.Enabled = 0
- mnuHelpSearch.Enabled = 0
- mnuHelpUsingHelp.Enabled = 0
- END IF
- END SUB
-
- SUB Form_Unload ()
- HelpClose
- END SUB
-
- SUB mnuHelpContents_Click ()
- HelpShowTopic "Contents"
- END SUB
-
- SUB mnuHelpSearch_Click ()
- HelpSearch
- END SUB
-
- SUB mnuHelpUsingHelp_Click ()
- HelpShowTopic "Using Help"
- END SUB
-
- SUB txtFileName_KeyUp (KeyCode AS INTEGER, Shift AS INTEGER)
- IF KeyCode = 112 AND HelpLoaded% THEN 'F1 Key
- HelpShowTopic "File Name"
- END IF
- END SUB
-
- SUB ckReadOnly_KeyUp (KeyCode AS INTEGER, Shift AS INTEGER)
- IF KeyCode = 112 AND HelpLoaded% THEN 'F1 Key
- HelpShowTopic "Read Only"
- END IF
- END SUB
-
- See Adding Help to Your Applications
- .TOPIC:
- Using Help
- Note that the following text is appropriate for adding
- to your own Help files. A user should be able to access
- Using Help from the Help menu in your application.
-
- See Example Help Toolkit Application
- ============================================================
-
- Selecting a Help link:
- ----------------------
- With a mouse - click on phrases outlined by two triangles.
- With the keyboard - Press TAB or Shift-TAB to select a link.
- Press ENTER to jump to that topic.
-
- Scrolling the Help window:
- --------------------------
- With a mouse - click on the horizontal or vertical scroll
- bars.
- With the keyboard - press the cursor navigation keys.
-
- Closing the Help window:
- ------------------------
- With a mouse - double click on the window's control box icon.
- With the keyboard - press Ctrl-F4.
-
- Command Buttons:
- ----------------
- Applications may use one or more of the following command
- buttons. Use a mouse to click a button or press the letter
- mentioned below.
-
- Contents - displays a table of contents for the application's
- Help. Press C to select Contents.
-
- Search - opens a dialog box that lists all available Help
- topics. Select a topic from the list box and press ENTER.
- Press S to select Search.
-
- Back - jumps to the last Help topic viewed. Press B to select
- Back.
-
- History - lists the last 20 Help topics viewed. Jump to a
- topic by selecting from the list box and pressing ENTER.
- Press T to select History.
-
- Copy - Copies the contents of the current Help topic into
- an edit area. Select the text you want copied to the
- Clipboard and choose Copy. Choosing Copy without selecting
- any text in the edit area copies the entire Help topic to
- the Clipboard.
- Press P to select Copy.
- .TOPIC:
- Help Toolkit Procedures
- Five procedures in HELP.BAS give you access to all of
- Help Toolkit functions.
-
- HelpRegister <HelpFileName$> , Success%
- -----------------------------------------
- HelpRegister opens the requested Help file and searches for
- all Help topics. The Help topics and their file positions
- are stored in an array for later use. The file itself remains
- open until you call the HelpClose routine (below).
- HelpRegister is normally called at application initialization
- (e.g. Form_Load).
-
- You must call HelpRegister before showing any Help topics.
-
- HelpFileName$ is the name of the help file required by
- your application. It can be any valid MS-DOS file name.
- You must include the appropriate extension (.HLP or .TXT
- for example). Note that the Help Toolkit will NOT search
- your path for the file so it may be necessary to supply a
- fully qualified file name (e.g. "C:\MYAPP\MYHELP.TXT").
-
- Success% will be set to TRUE if the Help file was
- successfully registered and to FALSE otherwise. The Success%
- flag should be checked before making subsequent Help Toolkit
- calls to prevent run-time errors.
-
- HelpShowTopic TopicName$
- ------------------------
- Calling HelpShowTopic with a valid TopicName$ causes the
- Help Toolkit to display the text for TopicName$. The Help
- form will be restored to its former size and location if it
- is minimized when HelpShowTopic is called.
-
- TopicName$ must be the name of a Help topic. An error
- will occur if the Help Toolkit cannot find the TopicName$.
-
- HelpRegister must be called before calling HelpShowTopic but
- it is not necessary to call HelpRegister before every
- HelpShowTopic.
-
- HelpSearch
- ----------
- HelpSearch opens the Help Toolkit topic search dialog box.
- The Help form will display the selected topic unless the
- user chooses the Cancel button.
-
- HelpRegister must be called before calling HelpSearch but it
- is not necessary to call HelpRegister before every HelpSearch.
-
- HelpClose
- ---------
- HelpClose closes the Help file and UNLOADs the Help form.
- Call HelpClose before you end your application. HelpClose
- should always be called when your application's last
- form is being unloaded.
-
- HelpSetOptions BackColor%,ForeColor%,DialogBackColor%,DialogForeColor%,ButtonColor%,SelectColor%,Flags%
- ------------------------------------------------------------------------------------
- This is an optional routine that makes it easy to customize
- the look of the Help form. You cannot call this procedure
- before you call HelpRegister. The Help Tookit will use the
- default values listed below if you do not call this procedure.
-
- BackColor% is a value between 0 and 15 that specifies the text
- background color on the Help form. Default is 7 (gray).
-
- ForeColor% is a value between 0 and 15 that specifies the text
- foreground color on the Help form. Default is 0 (black).
-
- DialogBackColor% is a value between 0 and 15 that specifies
- the background color of the Help dialog boxes (Search, History,
- and Copy). Default is 7 (gray).
-
- DialogForeColor% is a value between 0 and 15 that specifies
- the foreground color of the Help dialog boxes (Search, History,
- and Copy). Default is 0 (black).
-
- ButtonColor% is a value between 0 and 15 that specifies the
- command button background color on the Help form.
- Default is 7 (gray).
-
- SelectColor% is a value between 0 and 15 that specifies the
- foreground color of Help links selected using the TAB key.
- Default is SCREEN.CONTROLPANEL(0) (AccessKey Color).
-
- Flags% is a bit field that sets the VISIBLE status of the
- five command buttons and enables other Help Toolit options.
- Add the values below to show buttons and enable functions.
-
- Function Value Default
- --------------------- ----- -------
- ESC Closes Help 1 0
- UNLOAD Help at Form Close 2 0
- No Contents Button 4 0
- No Search Button 8 0
- No Back Button 16 0
- No History Button 32 0
- No Copy Button 64 0
-
- For example, Flags = 65 would allow ESC to close Help
- and hide the Copy button.
-
- Space is only reserved at the top frmHelpMain if at least
- one button is visible.
-
- Buttons normally to the right of missing buttons
- will shift to the left to fill gaps.
-
- The Help Toolkit will automatically call HelpRegister to
- re-open the Help file if HelpShowTopic or HelpSearch is
- called after the Help form has been unloaded. This can
- only happen if:
- 1. Unload on Form Close is TRUE and the user closed
- the Help form. Or
- 2. An error such as "Insufficient Memory to Display
- Help" caused Help to close itself.
-
- Registering a Help file can take some time so Unload at
- Form Close should be set to FALSE unless:
- 1. The Help Toolkit is running standalone (as it is
- now). Setting Unload at Form Close to TRUE
- allows the application to end when the Help
- form is closed.
- 2. Memory is extremely constrained.
-
- See Adding Help to Your Applications and
- Example Help Toolkit Application
-
-