BookmarkSubscribeSubscribe to RSS Feed

Why do some submenus open to left?


Community Trekker


Jun 23, 2011

Hi All, I'm configuring menu's for a JMP add-in.  I noticed a bizarre behavior: some submenu's open to the left (and not to the right).

Clearly the parent menu arrow points to the right.  I analyzed some menu tree structure in the View>Customize>Menus and Toolbars and there is no obvious reason why.  I tried adding/removing menu icon, more/less text, moving the mouse left or right of menu selection, lengthening or shortening window pane...nothing seems to toggle this.  I would really like my submenus to open to the right in the same direction of the parent menu arrow. Any ideas?  thx, dj


Super User


Jul 13, 2011

Usually a menu item will open to the left if there is no room on the screen for it to open on the right.


Community Trekker


Aug 26, 2015

I am not at the point be developing JSL apps or add-ins, but if the menus work as they do in most operating systems and software that use the APIs for their respective OSes, then David Burnham is very much correct. Menus, contextual menus in particular, tend to be responsive to screen location. As a result the following behaviors are typical much of the time:

  • Fixed menus are typically drop menus where you click on the top and the menu is invoked by dropping down from its item name. In situations where the fixed menu is near the bottom of the screen and the menu contents will not fit the menu will either appear as a shorter drop menu with the ability to scroll to see additional menu items or the menu will become a pop-up menu where the menu appears above the item name.
  • The default for contextual menus is to appear to the right and blow the current cursor position. If the cursor is near the bottom of the screen then a contextual menu will appear above the cursor position. If the cursor is near the right edge of the screen, then a contextual menu will appear to the left of the cursor.
  • For submenus, the behavior is similar to contextual menus with the default behavior being that the submenu is a drop menu to the immediate right of the parent menu item; that is the first item in the submenu will be to the right of the parent item with additional items below. If the menu to close to the bottom of the screen, or the submenu is too long to fit on the remaining screen space then the submenu will be a pop-up menu to the immediate right of the parent menu item ; that is the last item in the submenu will be next to the parent item and other items will be listed above. Another option is for the submenu to balance its position so that the entire submenu is shown by raising it enough to not end below the bottom edge of the screen. If the menu is too close to the right edge of the screen, then the submenu appears to the left.

While I cannot definitively speak to what JMP does when you build an app or add-in, I would not be surprised if the menu behaviors are similar to what you would typically see elsewhere.