com.esri.arcgis.framework
Class CommandBar

java.lang.Object
  extended by com.esri.arcgis.framework.CommandBar
All Implemented Interfaces:
ICommandBar, ICommandItem, IWindowPosition, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class CommandBar
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ICommandItem, ICommandBar, IWindowPosition

CommandBar object.

Description

CommandBar represents a toolbar, menubar, menu, or context menu. Use the ICommandBars.Find method to get a reference to a specific CommandBar.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

See Also:
Serialized Form

Constructor Summary
CommandBar(Object obj)
          Construct a CommandBar using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 ICommandItem add(IUID cmdID, Object index)
          Adds a new command to this commandbar.
 ICommandItem createMacroItem(String name, Object faceID, String action, Object index)
          Creates a new macro item on this commandbar at the specified position.
 ICommandBar createMenu(String name, Object index)
          Creates a new blank menu on this commandbar at the specified position.
 void delete()
          Removes this object from the commandbar.
 void dock(int dockFlags, ICommandBar referenceBar)
          Docks or undocks this commandbar.
 boolean equals(Object o)
          Compare this object with another
 void execute()
          Causes the command to execute.
 ICommandItem find(Object identifier, boolean noRecurse)
          Finds a command on this commandbar.
 String getAction()
          The name of the VBA macro this command should run when pressed.
 String getCaption()
          The caption of this command item.
 String getCategory()
          The name of the category with which this command item is associated.
 ICommand getCommand()
          A reference to the internal command object.
 int getCount()
          The number of items contained within this commandbar.
 Object getFaceID()
          The bitmap that is used as the icon on this command item.
 int getHeight()
          The height of the window.
 int getHelpContextID()
          The help context ID associated with this command item.
 String getHelpFile()
          The help file associated with this command item.
 IUID getID()
          The unique integer ID associated with this command item.
 int getIndex()
          The positional index of this command item within its menu or toolbar.
 ICommandItem getItem(int index)
          The command item on this commandbar at the specified index.
 int getLeft()
          The distance between the internal left edge of the window and screen.
 String getMessage()
          The status bar message for this command item.
 String getName()
          The name of this command item.
 ICommandBar getParent()
          The menu or toolbar that this command item currently resides on.
 int getState()
          The state of the window.
 int getStyle()
          The display style of this command item.
 String getTag()
          The tag for this command item.
 String getTooltip()
          The tooltip for this command item.
 int getTop()
          The distance between the internal top edge of the window and screen.
 int getType()
          The type of this command item.
 int getWidth()
          The width of the window.
 int hashCode()
          the hashcode for this object
 boolean isBuiltIn()
          Indicates whether this command item is built-in or if it was implemented through VBA.
 boolean isGroup()
          Indicates if this command item begins a menu or toolbar group.
 boolean isVisible()
          Indicates if this commandbar is visible.
 void move(int left, int top, int width, int height)
          Moves and optionally resizes the windows in a single function.
 ICommandItem popup(int x, int y)
          Displays this commandbar as a popup menu at the specified location.
 void refresh()
          Causes the command to be redrawn.
 void reset()
          Restores this command item's properties to that of the original.
 void setAction(String macro)
          The name of the VBA macro this command should run when pressed.
 void setCaption(String name)
          The caption of this command item.
 void setFaceID(Object faceID)
          The bitmap that is used as the icon on this command item.
 void setGroup(boolean group)
          Indicates if this command item begins a menu or toolbar group.
 void setHeight(int height)
          The height of the window.
 void setHelpContextID(int contextID)
          The help context ID associated with this command item.
 void setHelpFile(String helpFile)
          The help file associated with this command item.
 void setLeft(int left)
          The distance between the internal left edge of the window and screen.
 void setMessage(String message)
          The status bar message for this command item.
 void setName(String name)
          The name of this command item.
 void setState(int windowState)
          The state of the window.
 void setStyle(int style)
          The display style of this command item.
 void setTag(String tag)
          The tag for this command item.
 void setTooltip(String tooltip)
          The tooltip for this command item.
 void setTop(int top)
          The distance between the internal top edge of the window and screen.
 void setWidth(int width)
          The width of the window.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

CommandBar

public CommandBar(Object obj)
           throws IOException
Construct a CommandBar using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to CommandBar.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
CommandBar o = (CommandBar)obj; // will not work

CommandBar o = new CommandBar(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems CommandBar theCommandBar = (CommandBar) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getAction

public String getAction()
                 throws IOException,
                        AutomationException
The name of the VBA macro this command should run when pressed.

Description

Action is a string representing the full name of the VBA macro that is to be executed when the command item is clicked. The name of the macro must include the name of the VBA project in which this macro is located.

Remarks

Here are some examples of the syntax of the value for the Action property.

Macro called MyMacro in ThisDocument in Normal template:
"Normal.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in Normal template:
"Normal.Module1.MyMacro"

Macro called MyMacro in ThisDocument in the current document:
"Project.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in the current document:
"Project.Module1.MyMacro"

Macro called MyMacro in ThisDocument in a base template:
"TemplateProject.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in a base template:
"TemplateProject.Module1.MyMacro"

Note: This property only applies to macro items.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getAction in interface ICommandItem
Returns:
The macro
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAction

public void setAction(String macro)
               throws IOException,
                      AutomationException
The name of the VBA macro this command should run when pressed.

Description

Action is a string representing the full name of the VBA macro that is to be executed when the command item is clicked. The name of the macro must include the name of the VBA project in which this macro is located.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setAction in interface ICommandItem
Parameters:
macro - The macro (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isBuiltIn

public boolean isBuiltIn()
                  throws IOException,
                         AutomationException
Indicates whether this command item is built-in or if it was implemented through VBA.

Description

Returns True if the command is a COM command that was created by implementing ICommand and compiling into a DLL. Returns False if the command is a UIControl or a VBA macro.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isBuiltIn in interface ICommandItem
Returns:
The builtIn
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCategory

public String getCategory()
                   throws IOException,
                          AutomationException
The name of the category with which this command item is associated.

Description

Category is a string that represents the category of the command on which this command item is based. The category determines where the command will appear in the Commands panel of the Customize dialog.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCategory in interface ICommandItem
Returns:
The category
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCommand

public ICommand getCommand()
                    throws IOException,
                           AutomationException
A reference to the internal command object.

Description

Returns a reference to the command (Button, Tool, ToolControl, or MultiItem) on which this command item is based.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCommand in interface ICommandItem
Returns:
A reference to a com.esri.arcgis.systemUI.ICommand
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICommand

delete

public void delete()
            throws IOException,
                   AutomationException
Removes this object from the commandbar.

Remarks

When you delete a commanditem from a commandbar it is not deleted from the application; it is just removed from the commandbar. You can always add that command back to a commandbar.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
delete in interface ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFaceID

public void setFaceID(Object faceID)
               throws IOException,
                      AutomationException
The bitmap that is used as the icon on this command item.

Description




Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setFaceID in interface ICommandItem
Parameters:
faceID - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFaceID

public Object getFaceID()
                 throws IOException,
                        AutomationException
The bitmap that is used as the icon on this command item.

Description

The values for FaceID from the built-in icon palette are:

You can also use your own bitmap (.bmp file) with ICommandItem::FaceID. To use your own bitmap, you could create a UserForm in VBA with a Image control on it. Set the Picture property of the Image control to your bitmap.

If you are using your own bitmap, it must be a Bitmap file (.bmp); Icon files (.ico) are not supported. Bitmap files should be 16 X 16 pixels. The color of the upper left pixel of the bitmap is treated as the transparent color. For example, if the upper left pixel of the bitmap is red, then all of the red pixels in the bitmap will be converted to transparent.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getFaceID in interface ICommandItem
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGroup

public void setGroup(boolean group)
              throws IOException,
                     AutomationException
Indicates if this command item begins a menu or toolbar group.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setGroup in interface ICommandItem
Parameters:
group - The group (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isGroup

public boolean isGroup()
                throws IOException,
                       AutomationException
Indicates if this command item begins a menu or toolbar group.

Description

If Group is set to True, the command item is the first item in a group on a toolbar or menu. There will be a separator bar to the left of the command item. If Group is set to False, the command item does not have a separator bar to the left of it.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isGroup in interface ICommandItem
Returns:
The group
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHelpFile

public String getHelpFile()
                   throws IOException,
                          AutomationException
The help file associated with this command item.

Remarks

You cannot set HelpFile for built-in commands. It is not implemented for macro items and UIControls.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getHelpFile in interface ICommandItem
Returns:
The helpFile
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHelpFile

public void setHelpFile(String helpFile)
                 throws IOException,
                        AutomationException
The help file associated with this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setHelpFile in interface ICommandItem
Parameters:
helpFile - The helpFile (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHelpContextID

public int getHelpContextID()
                     throws IOException,
                            AutomationException
The help context ID associated with this command item.

Remarks

You cannot set HelpContextID for built-in commands. It is not implemented for macro items and UIControls.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getHelpContextID in interface ICommandItem
Returns:
The contextID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHelpContextID

public void setHelpContextID(int contextID)
                      throws IOException,
                             AutomationException
The help context ID associated with this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setHelpContextID in interface ICommandItem
Parameters:
contextID - The contextID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getID

public IUID getID()
           throws IOException,
                  AutomationException
The unique integer ID associated with this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getID in interface ICommandItem
Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IUID

getIndex

public int getIndex()
             throws IOException,
                    AutomationException
The positional index of this command item within its menu or toolbar.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getIndex in interface ICommandItem
Returns:
The index
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The name of this command item.

Description

Returns the programmatic identifying name string for the command on which this command item is based. Note, this is usually different from the Caption property of a the command.

Remarks

You can modify Name for VBA macro items but not built-in commands and UIControls. Setting this property for a built-in command or UIControls will return "This method cannot be called on built in commands" run-time error.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getName in interface ICommandItem
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String name)
             throws IOException,
                    AutomationException
The name of this command item.

Description

Returns the programmatic identifying name string for the command on which this command item is based. Note, this is usually different from the Caption property of a the command.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setName in interface ICommandItem
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCaption

public void setCaption(String name)
                throws IOException,
                       AutomationException
The caption of this command item.

Description

The Caption property of a command item is a string that appears when the command item is placed on a menu or when the command item's display style property is set to Text Only or Image and Text.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setCaption in interface ICommandItem
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCaption

public String getCaption()
                  throws IOException,
                         AutomationException
The caption of this command item.

Description

The Caption property of a command item is a string that appears when the command item is placed on a menu or when the command item's display style property is set to Text Only or Image and Text.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCaption in interface ICommandItem
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getParent

public ICommandBar getParent()
                      throws IOException,
                             AutomationException
The menu or toolbar that this command item currently resides on.

Description

Returns a reference to the CommandBar that this command item is on.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getParent in interface ICommandItem
Returns:
A reference to a com.esri.arcgis.framework.ICommandBar
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICommandBar

reset

public void reset()
           throws IOException,
                  AutomationException
Restores this command item's properties to that of the original.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
reset in interface ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStyle

public int getStyle()
             throws IOException,
                    AutomationException
The display style of this command item.

Description

The Style of a command item determines whether the command item is displayed on a command bar using its caption, image or both. Refer to the esriCommandStyles constants topic for the values for Style.

When a command is put on a toolbar, the command is displayed with the bitmap only by default; the display type is set to Image Only (Style = esriCommandStyleIconOnly).

When a command is put on a menu, the command is displayed with the bitmap and caption by default; the display type is set to Image and Text (Style = esriCommandStyleIconAndText).

However, if the Bitmap property (ICommand::Bitmap) is not set for this command, then the command will be displayed with the caption only by default when it is put on a toolbar or menu; the display type is set to Text Only (Style = esriCommandStyleTextOnly).

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getStyle in interface ICommandItem
Returns:
A com.esri.arcgis.systemUI.esriCommandStyles constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriCommandStyles

setStyle

public void setStyle(int style)
              throws IOException,
                     AutomationException
The display style of this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setStyle in interface ICommandItem
Parameters:
style - A com.esri.arcgis.systemUI.esriCommandStyles constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriCommandStyles

getTag

public String getTag()
              throws IOException,
                     AutomationException
The tag for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getTag in interface ICommandItem
Returns:
The tag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTag

public void setTag(String tag)
            throws IOException,
                   AutomationException
The tag for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setTag in interface ICommandItem
Parameters:
tag - The tag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTooltip

public String getTooltip()
                  throws IOException,
                         AutomationException
The tooltip for this command item.

Description

Tooltip is a string that appears in the screen tip when the mouse hovers over the command item.

Remarks

You can modify Tooltip for VBA macro items but not built-in commands and UIControls. Setting this property for a built-in command or UIControls will return "This method cannot be called on built in commands" run-time error.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getTooltip in interface ICommandItem
Returns:
The tooltip
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTooltip

public void setTooltip(String tooltip)
                throws IOException,
                       AutomationException
The tooltip for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setTooltip in interface ICommandItem
Parameters:
tooltip - The tooltip (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getType

public int getType()
            throws IOException,
                   AutomationException
The type of this command item.

Description

Returns the type of this command item using the esriCommandTypes constants. The command item can be one of the following types:

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getType in interface ICommandItem
Returns:
A com.esri.arcgis.framework.esriCommandTypes constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriCommandTypes

getMessage

public String getMessage()
                  throws IOException,
                         AutomationException
The status bar message for this command item.

Description

Message is a string that appears as the message in the statusbar of the application when the mouse passes over the command item.

Remarks

You can modify Message for VBA macro items but not built-in commands and UIControls. Setting this property for a built-in command or UIControls will return "This method cannot be called on built in commands" run-time error.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getMessage in interface ICommandItem
Returns:
The message
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMessage

public void setMessage(String message)
                throws IOException,
                       AutomationException
The status bar message for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setMessage in interface ICommandItem
Parameters:
message - The message (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

execute

public void execute()
             throws IOException,
                    AutomationException
Causes the command to execute.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
execute in interface ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refresh

public void refresh()
             throws IOException,
                    AutomationException
Causes the command to be redrawn.

Description

Causes the command item to be redrawn on the CommandBar in order to correctly display any new property changes.

It is generally unnecessary to explicitly call Refresh; CommandItem updates such as setting the caption, image, and style all automatically call Refresh.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
refresh in interface ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

add

public ICommandItem add(IUID cmdID,
                        Object index)
                 throws IOException,
                        AutomationException
Adds a new command to this commandbar.

Description

cmdID specifies the unique identifier of the command that is to be added to the commandbar.

Index specifies the postion on the commandbar at which this item is to be added. [Optional]

Remarks

In VBA, you can use the built-in ArcID module to find the unique identifier for a particular command or commandbar.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
add in interface ICommandBar
Parameters:
cmdID - A reference to a com.esri.arcgis.system.IUID (in)
index - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.framework.ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IUID, ICommandItem

createMenu

public ICommandBar createMenu(String name,
                              Object index)
                       throws IOException,
                              AutomationException
Creates a new blank menu on this commandbar at the specified position.

Description

Name is a string representing the caption of the menu. The caption is the string that appears for the menu when it is placed on a commandbar.

Index is a number representing the index location at which this menu is to appear on the commandbar. [Optional]

Remarks

If you want to create a new menu in a development environment other than VBA, you should implement IMenuDef instead of using ICommandBar::CreateMenu.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
createMenu in interface ICommandBar
Parameters:
name - The name (in)
index - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.framework.ICommandBar
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createMacroItem

public ICommandItem createMacroItem(String name,
                                    Object faceID,
                                    String action,
                                    Object index)
                             throws IOException,
                                    AutomationException
Creates a new macro item on this commandbar at the specified position.

Description

Name is a string representing the caption of the macro item. The caption is the string that appears when the macro item is placed on a menu.

FaceID specifies the image to be used for the button when the macro item is on a toolbar. Use either an index number of an icon in the built-in icon palette or the picture property of an Image control on a UserForm. [Optional]

Action is a string representing the full name of the VBA macro that is to be executed when the macro item is clicked. The name of the macro must include the name of the VBA project in which this macro is located. [Optional]

Index is a number representing the index location at which this macro item is to appear on the commandbar. [Optional]

Remarks

The values for FaceID using the built-in icon palette are:

Available Icons

Here are some examples of the syntax of the Action parameter.

Macro called MyMacro in ThisDocument in Normal template:
"Normal.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in Normal template:
"Normal.Module1.MyMacro"

Macro called MyMacro in ThisDocument in the current document:
"Project.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in the current document:
"Project.Module1.MyMacro"

Macro called MyMacro in ThisDocument in a base template:
"TemplateProject.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in a base template:
"TemplateProject.Module1.MyMacro"

Note: Macros must be Public Subs. Private Subs are not treated as macros.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
createMacroItem in interface ICommandBar
Parameters:
name - The name (in)
faceID - A Variant (in, optional, pass null if not required)
action - The action (in, optional, pass null if not required)
index - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.framework.ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICommandItem

getCount

public int getCount()
             throws IOException,
                    AutomationException
The number of items contained within this commandbar.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCount in interface ICommandBar
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

find

public ICommandItem find(Object identifier,
                         boolean noRecurse)
                  throws IOException,
                         AutomationException
Finds a command on this commandbar.

Description

identifier is the unique identifier of the item you want to find. For built-in commands and commandbars, use the UID. For VBA macros and UIControls use the name.

noRecurse Use False to do a recursive search for the item; otherwise use True. [Optional]

Remarks

Here is the syntax that can be used for identifier for each type of menu or command item that can be on the command bar.

Built-in commands and menus
Use the unique identifier (UID) of the command or menu. The built-in Normal.ArcID module can be used to find the UID's.


 pCommandBar.Find(ArcID.Edit_Menu)

 pCommandBar.Find(ArcID.File_AddData)

Instead of using the ArcID module, you can write your own code to get the UID of the object.





To find the CLSID, ProgID, and subtype of an ESRI command or menu, refer to the following technical documents:

ArcObjects Developer Help > Technical Documents > ArcMap: Names and IDs of commands and commandbars

ArcObjects Developer Help > Technical Documents > ArcCatalog: Names and IDs of commands and commandbars

Custom VBA menus
Use a string that represents the full name of the custom menu. The name of the menu must include the project or template in which this menu was created.

 pCommandBar.Find("Normal.New Menu")

 pCommandBar.Find("Project.New Menu")

 pCommandBar.Find("Project.New Menu 1")





When you create new menus using the Customize dialog, the first menu you create is named "New Menu", the second menu you create is called "New Menu 1", etc... In the Find method, you need to use the default name of the menu instead of the caption you assigned to it. Here is an example of how custom menu naming works.




If you write code to create a new menu, then the name of that item will be prefixed by the project or template in which the module was located.

UIControls
Use a string that represents the full name of the UIControl. The name of the UIControl must include the project or template in which this UIControl was created.

 pCommandBar.Find("Normal.UIButtonControl1")

 pCommandBar.Find("Project.UIToolControl1")

 pCommandBar.Find("TemplateProject.UICombboxControl1")





Macro Items
Use a string that represents the full name of the VBA macro. The name of the macro must include the name of the VBA project and module in which this macro is located. Only Macros that are placed on a toolbar or menu can be found using CommandBars.Find.

  pCommandBar.Find("Project.NewMacros.Test")

  pCommandBar.Find("Normal.ThisDocument.MyMacro")





Custom commands and menus
Use the unique identifier (UID) of your custom command or menu.
You can create a UID object and set the value of the UID to the CLSID or ProgID of your custom object.
For your custom objects, the ProgID is a string composed of the name of your project used to make the command and the class name of the command.
For example if you have a Visual Basic project called MyCustomTools and there is a class module for your command called cmdMyZoomTool in that project, then the ProgID for this command would be "MyCustomTools.cmdMyZoomTool".
To find the CLSID for this command, you could search the system registry for ProgID. Note, if you have a command that is a subtype then you also have to set the SubType property on IUID to the subtype value.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
find in interface ICommandBar
Parameters:
identifier - A Variant (in)
noRecurse - The noRecurse (in, optional, pass false if not required)
Returns:
A reference to a com.esri.arcgis.framework.ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICommandItem

getItem

public ICommandItem getItem(int index)
                     throws IOException,
                            AutomationException
The command item on this commandbar at the specified index.

Product Availability

Available with ArcGIS Desktop.

Specified by:
getItem in interface ICommandBar
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.framework.ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

popup

public ICommandItem popup(int x,
                          int y)
                   throws IOException,
                          AutomationException
Displays this commandbar as a popup menu at the specified location.

Description

X is the X coordinate, in device units, of the point on the application where the commandbar should be displayed. Applies to menus and shortcut menus only. [Optional]

Y is the Y coordinate, in device units, of the point on the application where the commandbar should be displayed. Applies to menus and shortcut menus only. [Optional]

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
popup in interface ICommandBar
Parameters:
x - The x (in, optional, pass 0 if not required)
y - The y (in, optional, pass 0 if not required)
Returns:
A reference to a com.esri.arcgis.framework.ICommandItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICommandItem

dock

public void dock(int dockFlags,
                 ICommandBar referenceBar)
          throws IOException,
                 AutomationException
Docks or undocks this commandbar.

Description

dockFlags specifies whether the commandbar is docked or where it is docked. Use one of the esriDockFlags constants.

referenceBar is an ICommandBar object that is to be used as a location reference. [Optional]

Remarks

Use the esriDockFlags constants to specify whether this command bar is visible, floating, or where it is docked on the application.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
dock in interface ICommandBar
Parameters:
dockFlags - A com.esri.arcgis.framework.esriDockFlags constant (in)
referenceBar - A reference to a com.esri.arcgis.framework.ICommandBar (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriDockFlags

isVisible

public boolean isVisible()
                  throws IOException,
                         AutomationException
Indicates if this commandbar is visible.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isVisible in interface ICommandBar
Returns:
The bVisible
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLeft

public void setLeft(int left)
             throws IOException,
                    AutomationException
The distance between the internal left edge of the window and screen.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setLeft in interface IWindowPosition
Parameters:
left - The left (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLeft

public int getLeft()
            throws IOException,
                   AutomationException
The distance between the internal left edge of the window and screen.

Remarks

The Left property determines the position of the window in screen coordinates relative to the upper-left corner of the display screen.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getLeft in interface IWindowPosition
Returns:
The left
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTop

public void setTop(int top)
            throws IOException,
                   AutomationException
The distance between the internal top edge of the window and screen.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setTop in interface IWindowPosition
Parameters:
top - The top (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTop

public int getTop()
           throws IOException,
                  AutomationException
The distance between the internal top edge of the window and screen.

Remarks

The Top property determines the position of the window in screen coordinates relative to the upper-left corner of the display screen.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getTop in interface IWindowPosition
Returns:
The top
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWidth

public void setWidth(int width)
              throws IOException,
                     AutomationException
The width of the window.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setWidth in interface IWindowPosition
Parameters:
width - The width (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWidth

public int getWidth()
             throws IOException,
                    AutomationException
The width of the window.

Remarks

The Height and Width properties determine the size of the window. This is in screen units.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getWidth in interface IWindowPosition
Returns:
The width
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHeight

public void setHeight(int height)
               throws IOException,
                      AutomationException
The height of the window.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setHeight in interface IWindowPosition
Parameters:
height - The height (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHeight

public int getHeight()
              throws IOException,
                     AutomationException
The height of the window.

Remarks

The Height and Width properties determine the size of the window. This is in screen units.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getHeight in interface IWindowPosition
Returns:
The height
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

move

public void move(int left,
                 int top,
                 int width,
                 int height)
          throws IOException,
                 AutomationException
Moves and optionally resizes the windows in a single function.

Remarks

You can use the Move method to set the Left, Top, Width, and Height properties all at the same time.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
move in interface IWindowPosition
Parameters:
left - The left (in)
top - The top (in)
width - The width (in, optional, pass 0 if not required)
height - The height (in, optional, pass 0 if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setState

public void setState(int windowState)
              throws IOException,
                     AutomationException
The state of the window.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setState in interface IWindowPosition
Parameters:
windowState - A com.esri.arcgis.framework.esriWindowState constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getState

public int getState()
             throws IOException,
                    AutomationException
The state of the window.

Remarks

The State property uses the esriWindowState enumeration to specify whether the window is normal, minimized, or maximized.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getState in interface IWindowPosition
Returns:
A com.esri.arcgis.framework.esriWindowState constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.