CMDS_SECTION – CMDS_END
The CMDS_SECTION – CMDS_END of a command table configuration (.ctc) file may have up to five subsections where user interface elements can be grouped according to type (bitmaps, buttons, combos, menus, or groups) and defined.
The CMDS_SECTION subsections, which are described in separate topics, are as follows:
The package GUID in the CMDS_SECTION – CMDS_END section indicates "delay load." This means that the package is loaded only when the commands in that group are enabled. If the package is not loaded, the commands are displayed on toolbars or menus in their default state. For example, even if a command is invisible or disabled by default but can become visible or enabled in the current context, it will not be displayed or enabled until the package associated with it is loaded. If the command is enabled by some other process, the package that the command is associated with, as defined in the CMDS_SECTION, is loaded to execute the command.
The following example shows the code that is required to produce a shortcut menu.
CMDS_SECTION guidVJPackage MENUS_BEGIN guidVJGrp:IDM_MYCONTEXT, guidVJGrp:0, 0x0000, CONTEXT, "MyContextMenu", "&MyMenu"; MENUS_END NEWGROUPS_BEGIN guidVJGrp:IDG_CUTCOPY, guidVJGrp:IDM_MYCONTEXT, 0x0100; guidVJGrp:IDG_OVERRIDE, guidVJGrp:IDM_MYCONTEXT, 0x0300; guidVJGrp:IDG_PROPERTIES, guidVJGrp:IDM_MYCONTEXT, 0x0500; NEWGROUPS_END BUTTONS_BEGIN guidVJCmd:VJCmdCut, guidVJGrp:IDG_CUTCOPY, 0x0100, guidOfficeIcon:msotcidCut, BUTTON, , "Cut"; guidVJCmd:VJCmdCopy, guidVJGrp:IDG_CUTCOPY, 0x0200, guidOfficeIcon:msotcidCopy, BUTTON, , "Copy"; guidVJCmd:VJCmdPaste, guidVJGrp:IDG_CUTCOPY, 0x0300, guidOfficeIcon:msotcidPaste, BUTTON, , "Paste"; guidVJCmd:VJCmdOverride, guidVJGrp:IDG_OVERRIDE, 0x0100, guidOfficeIcon:msotcidNoIcon, BUTTON, , "Override Method"; guidVJCmd:VJCmdProperties, guidVJGrp:IDG_PROPERTIES, 0x0100, guidOfficeIcon:msotcidProperties, BUTTON, , "View Properties", "&Properties"; BUTTONS_END CMDS_END
For a more full-featured example of a .ctc file, see File Explorer.