Is it possible for a running program to dynamically create/add a menu or add a specific item to an existing menu based on an action by the program user?
It sure is! Using the menu editor, create a menu array by assigning a numeric value to the index of the menus. During run time you can add a menu the same way controls can be added to a control array: Load mnu (NewIndex), NewIndex should be a numeric value not yet used by any members of the array. You can also remove items (that were added during run time) with the Unload statement: Load mnu (Index).