Commandbar System IDs
Internally, numeric IDs are used to identify and connect parts of the Codejock commandbar system. Rather than requiring you to define and maintain what could be a large number of IDs, the classes have been extended to support the automatic assignment of these IDs. Consequently, you will rarely ever have to deal with these IDs.
The following IDs are used in the commandbar system.
Command Bar IDs
These are the IDs assigned to the menubar and toolbars. The property is maintained in piBarId. If the initial value is zero, piBarId will be auto-assigned in End_Construct_Object. The IDs are assigned numbers starting at ID_CommandBarIDAutoStart.
You may manually assign piBarIds to your menubar and toolbars, but you will rarely need to do so.
Action and Menu Item IDs
Menu and toolbar items ([cCJMenuItem](../VdfClassRef/Windows/cCJMenuItem.md) objects) are assigned action IDs which are maintained by the piId property. If the initial value is zero, they are auto-assigned with numbers starting at ID_CommandBarsAutoStart. These action IDs are actually maintained in the [cCJAction](../VdfClassRef/Windows/cCJAction.md) class. They bind a COM control to an action object. Normally, there will be a one-to-one relation between an action and a control. Both of these are maintained by the cCJMenuItem class.
You may manually assign piIds to your menu items, but you will rarely need to do so.
Statusbar Pane IDs
Statusbar panes are assigned IDs which are maintained by the piId property. If the initial value is sbpIDAutoAssign, they will be auto-assigned with numbers starting at ID_StatusBarsAutoStart. Note that the initial value is not zero, which has a special meaning to the statusbar (it indicates it is the Idle pane).
There are other special IDs that can be assigned to statusbar panes. See the cCJStatusbarPane piId property for more information on this. With the exception of these special IDs, you should rarely need to assign piId in your statusbar pane objects.
Image IDs
When an image is added to the imagelist, it must have a numeric ID. That ID is used to bind images within the imagelist to menu, toolbar, and statusbar images. The piIconId property controls this. Once again, these IDs are normally auto-assigned. This is discussed in detail in the Images and Imagelists section.