---
name: "XmCreatePulldownMenu"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmCreatePulldownMenu"
---

# XmCreatePulldownMenu(3)

A RowColumn widget convenience creation function

## NAME

**XmCreatePulldownMenu** — A RowColumn widget convenience creation function

## SYNOPSIS

```
#include <Xm/RowColumn.h>
Widget XmCreatePulldownMenu(
Widget parent,
String name,
ArgList arglist,
Cardinal argcount);
```

## DESCRIPTION

**XmCreatePulldownMenu** creates an instance of a RowColumn widget of type **XmMENU\_PULLDOWN** and returns the associated widget ID.

- *parent*

  Specifies the parent widget ID

- *name*

  Specifies the name of the created widget

- *arglist*

  Specifies the argument list

- *argcount*

  Specifies the number of attribute/value pairs in the argument list (*arglist*)

Specifies the number of attribute/value pairs in the argument list (*arglist*). When this function is used to create the Pulldown menu pane, a MenuShell widget is automatically created as the parent of the menu pane. If the widget specified by the *parent* parameter is a Popup or a Pulldown menu pane, the MenuShell widget is created as a child of the *parent* MenuShell; otherwise, it is created as a child of the specified *parent* widget.

**XmCreatePulldownMenu** is provided as a convenience function for creating RowColumn widgets configured to operate as Pulldown menu panes and is not implemented as a separate widget class.

A Pulldown menu pane displays a 3-D shadow, unless the feature is disabled by the application. The shadow appears around the edge of the menu pane.

A Pulldown menu pane is used with submenus that are to be attached to a CascadeButton or a CascadeButtonGadget. This is the case for all menu panes that are part of a PulldownMenu system (a MenuBar), the menu pane associated with an OptionMenu, and any menu panes that cascade from a Popup menu pane. Pulldown menu panes that are to be associated with an OptionMenu must be created before the OptionMenu is created.

The Pulldown menu pane must be attached to a CascadeButton or CascadeButtonGadget that resides in a MenuBar, a Popup menu pane, a Pulldown menu pane, or an OptionMenu. It is attached with the button resource **XmNsubMenuId**.

A MenuShell widget is required between the Pulldown menu pane and its parent. If the application uses this convenience function for creating a Pulldown menu pane, the MenuShell is automatically created as the real parent of the menu pane; otherwise, it is the application's responsibility to create the MenuShell widget.

To function correctly when incorporated into a menu, the Pulldown menu pane's hierarchy must be considered. This hierarchy depends on the type of menu system that is being built, as follows:

- •

  If the Pulldown menu pane is to be pulled down from a MenuBar, its *parent* must be the MenuBar.

- •

  If the Pulldown menu pane is to be pulled down from a Popup or another Pulldown menu pane, its *parent* must be that Popup or Pulldown menu pane.

- •

  If the Pulldown menu pane is to be pulled down from an OptionMenu, its *parent* must be the same as the OptionMenu parent.

PullDown menu panes support tear-off capabilities for tear-off menus through **XmRowColumn** resources. For a complete definition of RowColumn and its associated resources, see [**XmRowColumn**(3)](/XmRowColumn/3.md).

## RETURN

Returns the RowColumn widget ID.

## RELATED

[**XmCascadeButton**(3)](/XmCascadeButton/3.md), [**XmCascadeButtonGadget**(3)](/XmCascadeButtonGadget/3.md), [**XmCreateOptionMenu**(3)](/XmCreateOptionMenu/3.md), [**XmCreatePopupMenu**(3)](/XmCreatePopupMenu/3.md), [**XmCreateSimplePulldownMenu**(3)](/XmCreateSimplePulldownMenu/3.md), [**XmMenuShell**(3)](/XmMenuShell/3.md), [**XmRowColumn**(3)](/XmRowColumn/3.md), and [**XmVaCreateSimplePulldownMenu**(3)](/XmVaCreateSimplePulldownMenu/3.md).
