IUIX_CmdMenu Interface

From PDF XChange PDF SDK
Jump to: navigation, search

The Command Menu acts as a passive container. Basically, it is a tree-like command structure that is used by the toolbar to create interactive drop-down menus.

The Command Menu Item does not hold the current State (Enabled/Disabled, Checked etc.) because the Command Menu (and the needed Command Menu Item) can be used in the different contexts at the same time where the same element (command) can have different states (for example the cmd.delete command). Meaning that different toolbars' elements can have the same Command Menu (meaning the same object).

The Command Menu itself is only a plan/scheme that defines the structure (through the commands hierarchy) of the Visual Command Menu that will be shown. The Visual Command Menu at the moment of creation reads this structure and creates the Command bars and fills it with command items and separators from the Command Menu structure. And then the actual state is being calculated for them through the CmdItem.Cmd.Handler.OnGetCmdState(MenuOwner) method that depends on the MenuOwner (that defines the state of the Command Menu Item based on the context).


CopyItemsFrom DeleteItemsByCmdID InsertItem InsertSeparator
DeepFindFirstItemByCmdID FindFirstCmd InsertItem2 SetState
DeleteAllItems FindFirstItemByCmdID InsertItem3 SetStyle
DeleteItem FindFirstItemByCmdName InsertItem4 SetSubMenu


_NewEnum Count Item Style
Cmd IsSeparator State

See Also

IUIX_CmdManager::InsertCmdItems, IUIX_CmdManager::InsertCmdItems2, IUIX_CmdManager::ShowPopupMenu, IUIX_CmdHandler::OnGetItemSubMenu, IUIX_CmdItem::SubMenu, IUIX_CmdPane::AppMenu, IUIX_Inst::CreateCmdMenu, IUIX_EditCallbacks::Edit_OnContextMenu, IUIX_Button::Menu, IPXV_View::InsertCmdItems, IPXV_View::InsertCmdItems2, IPXV_DocInfoBar::AddButton, IPXV_DocInfoBar::AddCommand, IPXV_DocInfoBar::SetButtonSubMenu, IPXV_BeforeShowContextMenuEvent::Menu