MMO'DPG:  Display Paging

Bit value:  2048

Display with Paging controls. Performs a display operation similar to opcode 0 except that it allows the operator to use scrolling controls to display a memo pad larger than the memo window. Exit from the display operation with Escape or Control-C. Note the following points before implementing:

vs. Normal Display Mode: You may wonder why you wouldn't always use MMO'DPG instead of MMO'DSP when displaying memos. One reason is that MMO'DPG requires that the operator hit Escape to exit from the display mode - this is not always desirable. (See MMO'IPG:  Intelligent Paging Mode to avoid having to hit Escape for when displaying memos that fit entirely in the display window.) It is probably more convenient for operators if your program first displays one page of the memo using the regular MMO'DSP display mode, and then allows the operator to go into paging mode by entering a command or function key.

vs. Edit Mode: MMO'DPG is a natural alternative to MMO'EDT (edit) mode in situations where the operator's security level does not permit them to edit.

Display Idiosyncrasies: The memo display is left exactly where it was when the operator exits from the display-scrolling mode. This is because the operator may want to continue looking at the memo text after exiting (as with help information.) This, however, conflicts with the normal editing operation in which the memo display is restored to the home position after editing, to allow a subsequent editing operation to be performed without another repainting of the display (using opcode MMO'NMR.) Therefore you must make sure not to use MMO'NMR (with either editing or display) on a memo that was just displayed with MMO'DPG.

Variations: opcodes ÀMMO'BDR, MMO'LID, MMO'NBR and MMO'NMR affect the display-scrolling mode (MMO'DPG) in the same way they affect the normal editing mode (MMO'EDT). That is, MMO'BDR causes a border to be used, MMO'LID causes smart vertical scrolling, MMO'NBR avoids a redraw of the border, and MMO'NMR avoids redisplaying the memo text. Use caution with MMO'NMR, since the routine always starts the display (internally) from the home position, so if you allow repeated opcode MMO'DPG+MMO'NMR calls on the same memo and the operator exits from one call with the memo window not in the home position, the subsequent call will be out of synch with the display. .

Bottom Prompt: When a border is used with a MMO'DPG opcode display call, the bottom border is taken over to display a help prompt indicating how to scroll and exit. When a border is not used, the bottom line of the memo window is used for the help prompt. You may want to keep this in mind if you are meticulously designing help screens - set your window size one line shorter when you are editing the help screen than when displaying it (if no border is used.)

The help prompt has various versions depending on the width of the memo window. The prompt may be less than clear for some applications, and excessive for others (in which you may want to use your own prompts.) The alternative is to supply your own bottom prompt in the TEXT parameter. (See TEXT:  General purpose text exchange parameter )