SetMenu function (winuser.h)

Assigns a new menu to the specified window.

Syntax

BOOL SetMenu(
  [in]           HWND  hWnd,
  [in, optional] HMENU hMenu
);

Parameters

[in] hWnd

Type: HWND

A handle to the window to which the menu is to be assigned.

[in, optional] hMenu

Type: HMENU

A handle to the new menu. If this parameter is NULL, the window's current menu is removed.

Return value

Type: BOOL

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The window is redrawn to reflect the menu change. A menu can be assigned to any window that is not a child window.

The SetMenu function replaces the previous menu, if any, but it does not destroy it. An application should call the DestroyMenu function to accomplish this task.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-menu-l1-1-3 (introduced in Windows 10, version 10.0.14393)

See also

Conceptual

DestroyMenu

GetMenu

Menus

Reference