An application menu is an array of menu structures in which each structure describes one menu item. The top menu and each popdown menu are seperate arrays. Each array must end with a menu structure filled with 0.
MENU_INVISIBLE
0x0040 The menu item doesn't display. MENU_INVISIBLE is used to support different menu choices embedded in the same menu structure.
MENU_CHECKED
0x0020 The menu item displays with a check mark before it.
MENU_BARBEFORE
0x0010 A separator bar is inserted before the item.
MENU_SENDMSG
0x0008 Instead of the handler being directly called by the menu system, a COMMAND message is sent to the menu's parent window, with the Data parameter set to the LHMENU Handler field. This allows the flexibility of placing code inside a switch, and lets a window handler manage menu options that may be modal in that window.
MENU_PULLDOWN
0x0004 The menu is a pop-down menu. The handler points to the array of pop-down menu structures.
MENU_CREATEWND
0x0002 The handler is a pointer to a window structure; this window is automatically created and given the focus (via a CREATE, CREATE_FOCUS, SETFOCUS_NORMAL message) when the corresponding menu item is selected. This would typically be a DialogBox, but it does not have to be.
MENU_ELLIPSIS
0x0001 This field appends the "..." text string to the menu item when displayed to indicate a dialog is initiated by that menu item.
MENU_USER
0x0400 Values of the Style field at and after this value are reserved for application-specific uses.