About   -   Contact   -   Purchase   -   Search   -   What's New

Context Sensitive Menus
When working with menus for PowerBuilder we quite often create a generic set of MDI style menus which we enable and disable in our windows. This has an advantage for the developer in that we only need a few common sets of menus and they are easier to program. The user benefits because the menu layout is almost always the same and they get used to the layout thus improving productivity and reducing training for new applications that follow using the same code base.

However I have found that some users find the context of the menu options confusing and there is a learning curve while the user gets to know how these menu items work and what does what. We could help reduce this learning curve by good use of tooltips and microhelp but as well as generic menu items we also have generic microhelp that does little to help the user.

To reduce this problem I introduced context sensitive menus. All of the microhelp and tooltips in the menu hae two special keywprds within the text. We use "entity" and "row". We then have two functions in the menu ancestor that accept a replacement for entity or row. We remember the previously used keyword and replace all occurences of the old keyword with the new keyword. So instead of "create new entity" we have "create new exepense report" or whatever the context of the window requires.

This may seem a little over the top for simple windows, but when we have more complex windows where many different types of record can be created it really aids users new and old. For example we have a window which is based on a treeview control. You can create 6 different records within the tree hierarchy. Instead of New entity or New row for the tooltips and microhelp the user get the correct help text based on their location within the hierarchy. For example New Proposal, New Schedule etc.

So by adding a few simple functions and calling them from the open event of each window we can really improve the visual cues and feedback for the user, reduce the learning curve and reduce errors and mistakes.


Top of Page

Legal Notice

Ken Howe 2011