Creates a menu item that, when selected, opens another menu.


Ihandle* IupSubmenu(const char *title, Ihandle *menu); [in C]
iup.submenu{menu: ihandle[; title = title: string]} -> (ih: ihandle) [in Lua]
submenu(title, menu) [in LED]

title: String containing the text to be shown on the item. It can be NULL (nil in Lua), not optional in LED. It will set the TITLE attribute.
menu: optional child menu identifier. It can be NULL (nil in Lua), or empty in LED.

Returns: the identifier of the created element, or NULL if an error occurs.


IMAGE [Windows and GTK Only] (non inheritable): Image name of the submenu image. In Windows, an item in a menu bar cannot have a check mark. Ignored if submenu in a menu bar. A recommended size would be 16x16 to fit the image in the menu item. In Windows, if larger than the check mark area it will be cropped. (since 3.0)

KEY (non inheritable): Underlines a key character in the submenu title. It is updated only when TITLE is updated. Deprecated, use the mnemonic support directly in the TITLE attribute.

TITLE (non inheritable): Submenu Text. The "&" character can be used to define a mnemonic, the next character will be used as key. Use "&&" to show the "&" character instead on defining a mnemonic.

WID (non inheritable): In Windows, returns the HMENU of the parent menu and it is actually created only when its child menu is mapped.

ACTIVE, THEME: also accepted.


HIGHLIGHT_CB: Action generated when the submenu is highlighted.

MAP_CB, UNMAP_CB, DESTROY_CB: common callbacks are supported.


In Motif and GTK, the text font will be affected by the dialog font when the menu is mapped.

In GTK uses GtkSeparatorMenuItem, in Windows uses InsertMenuItem, and in Motif uses xmSeparator.


Browse for Example Files

See the IupMenu element for more screenshots.

See Also

IupItem, IupSeparator, IupMenu.