Examples

Pop-Up Field Level Pick Lists

A concept parallel to field-level help screens is that of pick lists which pop-up when you enter a particular field. For example, an invoicing program may have a field for shipping method which takes an integer. When the cursor enters that field, rather than forcing the user to enter the number corresponding to the method desired, you may want to instead pop-up a pick list or menu of the choices, allowing the selection to be made with the light bar. This type of thing can make programs easier to user for beginners, but they are a pain to program, and they can become a pain to use for experienced operators. One solution to the problem of annoying experienced users is to implement a menu key which may be hit when in a field to pop-up the field menu.

We have developed a solution to the other problem of programming difficulty by creating a ready-to-use help menu subsystem which is nearly identical to the help screen subsystem described in the previous section, except that it is used to create and pick from field level menus rather than displaying help screens. Note that not only are these pop-up menus slick, they also take the place of definition files which you would need anyway for defining tables such as shipping method, customer type, terms codes, etc.

The help menu subsystem consists of the following modules:

HLPMNU.MAP

HLPMNU.BSI

HLPMNU.INI

MSBOXX.BSI

MSBOXX.SBR

JOBPAR.SBR

<A memo file to store the help menus screens>

Setup for the help menu subsystem is nearly identical to that described above for the help screen subsystem with the main difference being that pop-up field menus only make sense for certain fields, and therefore you would only want to activate the designated menu key for those fields. As for the keyword, it can be the same as that used for the help screen, since the menus and the screens are maintained in separate files. (A field could have an associated help screen and/or an associated pick-list menu.)

You may print out the HLPMNU.BSI file for more programming details, and try out the TSTHLP program to get a feeling for how these work.