My uimenu list (a vertical child menu list) is too long to fit on my monitor

I create a child uimenu list that is about 200 items in length. The last 100 items (or so) on the list disappear off the bottom of my monitor, and I cannot view them nor can I click on them. What I want to happen is for the (unseen) items to "wrap back" to the top of the monitor to form a second column. But this doesn't happen. The 'position' property for uimenu is only a scalar value that controls its order in the list. It does not control a coordinate on the display. Is there a way to "wrap" long menu lists? Thanks. Howard

2 Comments

Howard - 200 items provides the user with lots of choices! Could you not break the list down into groups of 20 or so, where the 20 are sub-menus of a parent menu selection. Like the second example of Create menus and menu items.
This is possible, but all 200 items are created dynamically, (in other words, I read in a random list of strings from an Excel file, and each string in the list is another item in the pop-up menu), so there is no way to control how to "break apart" the list into, say, two or three separate sub-menus. Plus, the end user is expecting to see the full list of 200 items. The end user would not know which sub-menu to look under to find the item in which he/she is interested. Titus provided a possible solution below. he suggested using a list box. I can try this. Thanks. Howard

Sign in to comment.

Answers (1)

Hi,
no, you don't have this option. I would suggest to have the uimenu entry create a new dialog to select from (using e.g. listdlg).
Titus

1 Comment

Thanks, Titus. I will consider using a listbox and see what happens. The list box comes with a scroll bar, I believe. Thanks for the suggestion. Howard

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products

Asked:

on 9 Oct 2014

Commented:

on 10 Oct 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!