com.esri.arcgis.controls
Class ToolbarMenu

java.lang.Object
  extended by com.esri.arcgis.controls.ToolbarMenu
All Implemented Interfaces:
IToolbarMenu, IToolbarMenu2, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, Serializable

public class ToolbarMenu
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IToolbarMenu, IToolbarMenu2, ISupportErrorInfo

A menu containing commands that can be used from a ToolbarControl or as a popup menu.

Description

A ToolbarMenu supplies the implementation of a menu item that can host Command, Tool, ToolControl, MultiItem and ToolbarPalette objetcs. A ToolbarMenu can either be hosted on the ToolbarControl or can appear as a popup menu.

A ToolbarMenu can be built in two ways. Firstly, an object implementing IMenuDef can be passed to the IToolbarControl::AddItem or IToolbarControl::AddMenuItem method which creates a ToolbarMenu object and populates it from the menu definition. Secondly, the properties and methods on the IToolbarMenu interface can be used to build a menu. Any sub menus on a ToolbarMenu are implemented as another instance of a IToolbarMenu.

Remarks

ToolbarMenu items support accelerator (shortcut) and access keys, defined in the ICommand::Caption property. For example, a 'Close' command with the caption "&Close\tAlt+F4" has the 'ALT+F4' key combination as its shortcut key, and the 'C' key as its access key. Although a shortcut key will always work, an access key will only work when the ToolbarMenu is active.

Product Availability

Available with ArcGIS Engine.

See Also:
Serialized Form

Constructor Summary
ToolbarMenu()
          Constructs a ToolbarMenu using ArcGIS Engine.
ToolbarMenu(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ToolbarMenu theToolbarMenu = (ToolbarMenu) obj;
 
Method Summary
 int addItem(Object item, int subType, int index, boolean beginGroup, int style)
          Adds an item to the ToolbarMenu.
 int addMultiItem(Object multiItem, int index, boolean beginGroup, int style)
          Adds a multi-item to the ToolbarMenu.
 int addSubMenu(Object menuOrPalette, int index, boolean beginGroup)
          Adds a sub-menu to the ToolbarMenu.
 boolean equals(Object o)
          Compare this object with another
 int find(Object item)
          Returns the index of the first item containing the given command or menu.
 int getBitmap()
          The bitmap that is used as the icon on this ToolbarMenu.
 String getCaption()
          The caption used by the ToolbarMenu.
static String getClsid()
          getClsid.
 ICommandPool getCommandPool()
          The CommandPool used by the ToolbarMenu.
 int getCount()
          The number of items on the ToolbarMenu.
 Object getHook()
          The object that is passed as a hook to the OnCreate event of each item's command.
 int getIconSize()
          The size in pixels of icons displayed on the ToolbarMenu.
 IToolbarItem getItem(int index)
          Returns the item at the specified index from the ToolbarMenu.
 IMenuDef getMenuDef()
          Returns the menu definition, this method is obsolete.
 Picture getMouseIcon()
          Custom mouse icon used if MousePointer is 99.
 int getMousePointer()
          The mouse pointer displayed over the ToolbarMenu.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isAlignLeft()
          Indicates if the ToolbarMenu displays aligned to the left or right.
 boolean isCustomize()
          Indicates if the ToolbarMenu is in customize mode.
 boolean isThemedDrawing()
          Indicates if the ToolbarMenu uses themed drawing.
 void moveItem(int startIndex, int finalIndex)
          Moves an item from one index to another.
 void popupMenu(int x, int y, int hWndParent)
          Pops up the menu at the position specified.
 void remove(int index)
          Removes the item at the specified index from the ToolbarMenu.
 void removeAll()
          Removes all items from the ToolbarMenu.
 void setAlignLeft(boolean pVal)
          Indicates if the ToolbarMenu displays aligned to the left or right.
 void setBitmap(int pVal)
          The bitmap that is used as the icon on this ToolbarMenu.
 void setCaption(String pCaption)
          The caption used by the ToolbarMenu.
 void setCommandPoolByRef(ICommandPool ppCommandPool)
          The CommandPool used by the ToolbarMenu.
 void setCustomize(boolean newVal)
          Indicates if the ToolbarMenu is in customize mode.
 void setHook(Object pHook)
          Sets the object that is passed as a hook to the OnCreate event of each item's command.
 void setIconSize(int pVal)
          The size in pixels of icons displayed on the ToolbarMenu.
 void setMouseIconByRef(Picture ppMouseIcon)
          Custom mouse icon used if MousePointer is 99.
 void setMousePointer(int pVal)
          The mouse pointer displayed over the ToolbarMenu.
 void setThemedDrawing(boolean pVal)
          Indicates if the ToolbarMenu uses themed drawing.
 
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

ToolbarMenu

public ToolbarMenu()
            throws IOException,
                   UnknownHostException
Constructs a ToolbarMenu using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

ToolbarMenu

public ToolbarMenu(Object obj)
            throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ToolbarMenu theToolbarMenu = (ToolbarMenu) obj;

Construct a ToolbarMenu using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ToolbarMenu.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


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

popupMenu

public void popupMenu(int x,
                      int y,
                      int hWndParent)
               throws IOException,
                      AutomationException
Pops up the menu at the position specified.

Description

Creates a popup menu of the ToolbarMenu at the specified coordinates, supplied in pixels, relative to the top left of the parent window handle hWndParent.

The PopupMenu method is called automatically if the ToolbarMenu is hosted on the ToolbarControl, and the user has clicked on the menu item. In such cases the ToolbarMenu pops up just below the item.

If the ToolbarMenu is a standalone popup menu use the SetHook method, and optionally share the CommandPool with an existing one within the application.

Product Availability

Available with ArcGIS Engine.

Specified by:
popupMenu in interface IToolbarMenu
Parameters:
x - The x (in)
y - The y (in)
hWndParent - The hWndParent (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCaption

public void setCaption(String pCaption)
                throws IOException,
                       AutomationException
The caption used by the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

Specified by:
setCaption in interface IToolbarMenu
Parameters:
pCaption - The pCaption (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 used by the ToolbarMenu.

Description

The Caption of the ToolbarMenu that is displayed on the ToolbarControl.

Product Availability

Available with ArcGIS Engine.

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

setCommandPoolByRef

public void setCommandPoolByRef(ICommandPool ppCommandPool)
                         throws IOException,
                                AutomationException
The CommandPool used by the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

Specified by:
setCommandPoolByRef in interface IToolbarMenu
Parameters:
ppCommandPool - A reference to a com.esri.arcgis.controls.ICommandPool (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCommandPool

public ICommandPool getCommandPool()
                            throws IOException,
                                   AutomationException
The CommandPool used by the ToolbarMenu.

Description

The CommandPool manages the collection of commands used by the ToolbarMenu. If the ToolbarMenu is added to the ToolbarControl the CommandPool will be shared with the IToolbarControl::CommandPool, otherwise a new CommandPool is created with a Hook property set to Nothing. If the ToolbarMenu is to be a popup menu, set the CommandPool to the IToolbarControl::CommandPool in order to share CommandPools.

Product Availability

Available with ArcGIS Engine.

Specified by:
getCommandPool in interface IToolbarMenu
Returns:
A reference to a com.esri.arcgis.controls.ICommandPool
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHook

public void setHook(Object pHook)
             throws IOException,
                    AutomationException
Sets the object that is passed as a hook to the OnCreate event of each item's command.

Description

The Hook is a shortcut to ICommandPoolEdit::Hook on the CommandPool. If the ToolbarMenu is an item on the ToolbarControl the Hook is shared and initialized by the ToolbarControl. If the ToolbarMenu is a standalone popup menu use the SetHook method, and optionally share the CommandPool with an existing one within the application.

Product Availability

Available with ArcGIS Engine.

Specified by:
setHook in interface IToolbarMenu
Parameters:
pHook - A reference to another Automation Object (IDispatch) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHook

public Object getHook()
               throws IOException,
                      AutomationException
The object that is passed as a hook to the OnCreate event of each item's command.

Description

The Hook is a shortcut to ICommandPoolEdit::Hook on the CommandPool.

Product Availability

Available with ArcGIS Engine.

Specified by:
getHook in interface IToolbarMenu
Returns:
A reference to another Automation Object (IDispatch)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBitmap

public int getBitmap()
              throws IOException,
                     AutomationException
The bitmap that is used as the icon on this ToolbarMenu.

Description

The Bitmap of the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

Specified by:
getBitmap in interface IToolbarMenu
Returns:
The pVal (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBitmap

public void setBitmap(int pVal)
               throws IOException,
                      AutomationException
The bitmap that is used as the icon on this ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

Specified by:
setBitmap in interface IToolbarMenu
Parameters:
pVal - The pVal (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMenuDef

public IMenuDef getMenuDef()
                    throws IOException,
                           AutomationException
Returns the menu definition, this method is obsolete.

Description

Returns the IMenuDef object from the ToolbarMenu. The ToolbarMenu will construct an object implementing IMenuDef that describes the current layout of the menu. Note that this a different object from that used to initially build the menu.

Product Availability

Available with ArcGIS Engine.

Specified by:
getMenuDef in interface IToolbarMenu
Returns:
A reference to a com.esri.arcgis.systemUI.IMenuDef
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addItem

public int addItem(Object item,
                   int subType,
                   int index,
                   boolean beginGroup,
                   int style)
            throws IOException,
                   AutomationException
Adds an item to the ToolbarMenu.

Description

A ToolbarMenu supplies the implementation of a menu item that can host commands, menus, palettes and multi-items.

Takes the specified command, menu or palette and creates new items that are appended to the ToolbarMenu with their Command set, and returns the index of the first item added. Specifiy the command, menu or palette as either a IUid, ProgID, ICommand , IMenuDef or IPaletteDef. To add a sub menu use the AddSubMenu method. To add a MultiItem use the IToolbarMenu2::AddMultiItem method. Note a palette object will be automatically added as a sub menu.

Supply a subType when passing an ICommandSubType. If no subType is supplied and the command is passed as a IUid or ProgID then ICommandSubType::GetCount determines the number of item's to be added to the ToolbarMenu. A subType must be supplied when passing an ICommandSubType as an ICommand, or the method will fail. By default subType is 0.

Index determines the position on the ToolbarMenu that the Item will be added to. By default this is -1 and represents the end of the ToolbarMenu.

beginGroup determines whether a separator will appear before the Item. By default beginGroup is False.

Style determines the style of the Item.

Remarks

AddItem checks to see if the supplied command or the commands used by the menu already exists in the CommandPool used by the ToolbarMenu. If the command does not already exist, it is created and added to the CommandPool with a ICommandPool::UsageCount of 1, and is set as the IToolbarItem::Command . If the command already exists in the CommandPool its ICommandPool::UsageCount is incremented by 1 and the command is set as the IToolbarItem::Command. The ICommand::OnCreate method will be called the first time a command is added to the CommandPool.

Where possible always supply commands and menus as either Uid objects or ProgID's. Only supply commands as ICommand or IMenuDef objects when a IUid or ProgID does not exist, and the class is compiled as part of the same project using the ToolbarControl. Passing a command or menu as an ICommand or IMenuDef object has the following limitation: Multiple instances of the same command can be added to the CommandPool , and each IToolbarItem::Command will point to a different command object.

Product Availability

Available with ArcGIS Engine.

Specified by:
addItem in interface IToolbarMenu
Parameters:
item - A Variant (in)
subType - The subType (in, optional, pass 0 if not required)
index - The index (in, optional, pass -1 if not required)
beginGroup - The beginGroup (in, optional, pass false if not required)
style - A com.esri.arcgis.systemUI.esriCommandStyles constant (in, optional, pass 2 if not required)
Returns:
The itemIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSubMenu

public int addSubMenu(Object menuOrPalette,
                      int index,
                      boolean beginGroup)
               throws IOException,
                      AutomationException
Adds a sub-menu to the ToolbarMenu.

Description

Takes the specified menu and creates a new sub menu that is added to the ToolbarMenu, and returns the index of the menu. Specifiy the menu as either a IUid, ProgID, IMenuDef or IToolbarMenu.

Index determines the position on the ToolbarMenu that the Item will be added to. By default this is -1 and represents the end of the ToolbarMenu.

beginGroup determines whether a separator will appear before the Item. By default beginGroup is False.

Remarks

AddSubMenu checks to see if the commands used by the menu already exists in the CommandPool used by the ToolbarMenu. If the command does not already exist, it is created and added to the CommandPool with a ICommandPool::UsageCount of 1, and is set as the IToolbarItem::Command . If the command already exists in the CommandPool its ICommandPool::UsageCount is incremented by 1 and the command is set as the IToolbarItem::Command. The ICommand::OnCreate method will be called the first time a command is added to the CommandPool.

Where possible always supply commands and menus as either Uid objects or ProgID's. Only supply commands as ICommand or IMenuDef objects when a IUid or ProgID does not exist, and the class is compiled as part of the same project using the ToolbarControl.

Product Availability

Available with ArcGIS Engine.

Specified by:
addSubMenu in interface IToolbarMenu
Parameters:
menuOrPalette - A Variant (in)
index - The index (in, optional, pass -1 if not required)
beginGroup - The beginGroup (in, optional, pass false if not required)
Returns:
The itemIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

remove

public void remove(int index)
            throws IOException,
                   AutomationException
Removes the item at the specified index from the ToolbarMenu.

Description

Removes the item at the specified index from the ToolbarMenu. The item at the top of the menu as an index of 0.

Remarks

The Remove method will automatically find the IToolbarItem::Command in the CommandPool and decrement the ICommandPool::UsageCount by 1. If the ICommandPool::UsageCount reaches 0 the command will be released from the CommandPool.

Product Availability

Available with ArcGIS Engine.

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

removeAll

public void removeAll()
               throws IOException,
                      AutomationException
Removes all items from the ToolbarMenu.

Description

This method removes all items from the ToolbarMenu.

Remarks

For each item removed the RemoveAll method will automatically find the IToolbarItem::Command in the CommandPool and decrement the ICommandPool::UsageCount by 1. If the ICommandPool::UsageCount reaches 0 the command will be released from the CommandPool.

Product Availability

Available with ArcGIS Engine.

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

getItem

public IToolbarItem getItem(int index)
                     throws IOException,
                            AutomationException
Returns the item at the specified index from the ToolbarMenu.

Description

The property is used to access a particular item on the ToolbarMenu. The item at the top of the menu has an index of 0.

Remarks

To loop through a ToolbarMenus item collection use the GetItem method in conjunction with the Count property.

Product Availability

Available with ArcGIS Engine.

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

getCount

public int getCount()
             throws IOException,
                    AutomationException
The number of items on the ToolbarMenu.

Description

Returns the number of items on the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

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

find

public int find(Object item)
         throws IOException,
                AutomationException
Returns the index of the first item containing the given command or menu. Returns -1 if it is not found.

Description

Returns the index of the first item on the ToolbarMenu using the specified IUid , ProgID, ICommand or IToolbarMenu. If the specified comman, menu or palette cannot be found -1 is returned.

Remarks

To find an Item on the ToolbarMenu using a Command implementing ICommandSubType pass a UID with its SubType property set.

Product Availability

Available with ArcGIS Engine.

Specified by:
find in interface IToolbarMenu
Parameters:
item - A Variant (in)
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveItem

public void moveItem(int startIndex,
                     int finalIndex)
              throws IOException,
                     AutomationException
Moves an item from one index to another.

Description

Moves the item at the specified startIndex, to the position at the specified finalIndex. If no finalIndex is supplied the item is moved to the end of the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

Specified by:
moveItem in interface IToolbarMenu
Parameters:
startIndex - The startIndex (in)
finalIndex - The finalIndex (in, optional, pass -1 if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addMultiItem

public int addMultiItem(Object multiItem,
                        int index,
                        boolean beginGroup,
                        int style)
                 throws IOException,
                        AutomationException
Adds a multi-item to the ToolbarMenu.

Description

Takes the specified multi-item and creates new items that are appended to the ToolbarMenu with their Command set, and returns the index of the first item added. Specifiy the multi-item as either a IUID, ProgID, or IMultiItem. To add a sub menu use the AddSubMenu method.

Index determines the position on the ToolbarMenu that the item will be added to. By default this is -1 and represents the end of the ToolbarMenu.

beginGroup determines whether a separator will appear before the item. By default beginGroup is false.

Style determines the style of the item.

Remarks

AddMultiItem checks to see if the supplied command already exists in the CommandPool used by the ToolbarMenu. If the command does not already exist, it is created and added to the CommandPool with a ICommandPool::UsageCount of 1, and is set as the IToolbarItem::Command. If the command already exists in the CommandPool its ICommandPool::UsageCount is incremented by 1 and the command is set as the IToolbarItem::Command. The ICommand::OnCreate method will be called the first time a command is added to the CommandPool .

Where possible always supply multi-items as either Uid objects or ProgID's. Only supply multi-items as IMultiItem objects when a IUID or ProgID does not exist, and the class is compiled as part of the same project using the ToolbarControl. Passing a multi-item as IMultiItem object has the following limitation: Multiple instances of the same multi-item can be added to the CommandPool, and each IToolbarItem::Command will point to a different command object.

Product Availability

Available with ArcGIS Engine.

Specified by:
addMultiItem in interface IToolbarMenu2
Parameters:
multiItem - A Variant (in)
index - The index (in, optional, pass -1 if not required)
beginGroup - The beginGroup (in, optional, pass false if not required)
style - A com.esri.arcgis.systemUI.esriCommandStyles constant (in, optional, pass 2 if not required)
Returns:
The itemIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCustomize

public void setCustomize(boolean newVal)
                  throws IOException,
                         AutomationException
Indicates if the ToolbarMenu is in customize mode.

Product Availability

Available with ArcGIS Engine.

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

isCustomize

public boolean isCustomize()
                    throws IOException,
                           AutomationException
Indicates if the ToolbarMenu is in customize mode.

Description

Determines whether a ToolbarMenu is in customize mode at run time. The behavior of the ToolbarMenu changes when in customize mode. This property is false by default.

If the ToolbarMenu has also been added to the ToolbarControl, the ToolbarControl will override the Customize property with the IToolbarControl::Customize property, before the ToolbarMenu is displayed with the IToolbarMenu::PopupMenu method.

Use the left mouse button to select an item on the ToolbarMenu. Either drag the selected item to a new position on the ToolbarMenu as indicated by the black verticle line, or drag and drop the item off the ToolbarMenu to remove item.

Use the right mouse button to select an item and display the customize menu. Use the customize menu to either delete the item or set its IToolbarItem::Style, IToolbarItem::Group or IToolbarItem::GroupSpacing properties.

If the CustomizeDialog is displayed on the screen whilst the ToolbarMenu is in customize mode, new items can be added to the ToolbarMenu by either double clicking on an item in the CustomizeDialog or by dragging and dropping an item from the CustomizeDialog to the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

Specified by:
isCustomize in interface IToolbarMenu2
Returns:
The newVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isThemedDrawing

public boolean isThemedDrawing()
                        throws IOException,
                               AutomationException
Indicates if the ToolbarMenu uses themed drawing.

Description

Determines whether items on the ToolbarMenu display themselves using the current Windows XP theme. This property is false by default, and items display themselves on the ToolbarMenu with the Windows Classic look.

If the ToolbarMenu has also been added to the ToolbarControl, the ToolbarControl will override the ThemedDrawing property with the IToolbarControl2::ThemedDrawing property, before the ToolbarMenu is displayed with the IToolbarMenu::PopupMenu method.

Product Availability

Available with ArcGIS Engine.

Specified by:
isThemedDrawing in interface IToolbarMenu2
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setThemedDrawing

public void setThemedDrawing(boolean pVal)
                      throws IOException,
                             AutomationException
Indicates if the ToolbarMenu uses themed drawing.

Product Availability

Available with ArcGIS Engine.

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

getMousePointer

public int getMousePointer()
                    throws IOException,
                           AutomationException
The mouse pointer displayed over the ToolbarMenu.

Description

Use this property when you want to indicate changes in functionality as the mouse pointer passes over the ToolbarMenu. The esriPointerArrowHourglass setting (11) is useful for indicating that the user should wait for a process or to finish.

If the ToolbarMenu has also been added to the ToolbarControl, the ToolbarControl will override the MousePointer property with the IToolbarControl::MousePointer property, before the ToolbarMenu is displayed with the IToolbarMenu::PopupMenu method.

Product Availability

Available with ArcGIS Engine.

Specified by:
getMousePointer in interface IToolbarMenu2
Returns:
A com.esri.arcgis.controls.esriControlsMousePointer constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMousePointer

public void setMousePointer(int pVal)
                     throws IOException,
                            AutomationException
The mouse pointer displayed over the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

Specified by:
setMousePointer in interface IToolbarMenu2
Parameters:
pVal - A com.esri.arcgis.controls.esriControlsMousePointer constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIconSize

public int getIconSize()
                throws IOException,
                       AutomationException
The size in pixels of icons displayed on the ToolbarMenu.

Description

The size in pixels that each item on the ToolbarMenu will display the ICommand::Bitmap property. By default bitmaps are stretched to a size of 16 x 16 pixels. The minimum IconSize allowed is 8.

If the ToolbarMenu has also been added to the ToolbarControl, the ToolbarControl will override the IconSize property with the IToolbarControl2::IconSize property, before the ToolbarMenu is displayed with the IToolbarMenu::PopupMenu method.

Remarks

IconSize may not affect the size of an item on the ToolbarControl that contains an object implementing IToolControl. Whether the ToolControl responds to the resize depends on its implementation.

Product Availability

Available with ArcGIS Engine.

Specified by:
getIconSize in interface IToolbarMenu2
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIconSize

public void setIconSize(int pVal)
                 throws IOException,
                        AutomationException
The size in pixels of icons displayed on the ToolbarMenu.

Product Availability

Available with ArcGIS Engine.

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

isAlignLeft

public boolean isAlignLeft()
                    throws IOException,
                           AutomationException
Indicates if the ToolbarMenu displays aligned to the left or right.

Description

Determines whether a ToolbarMenu (and any sub menus it contains) when displayed using the IToolbarMenu::PopupMenu method displays in a position aligned to the left of the users mouse click. This property is true by default.

If the ToolbarMenu has also been added to the ToolbarControl, the ToolbarControl will override the AlignLeft property with the IToolbarControl2::AlignLeft property, before the ToolbarMenu is displayed with the IToolbarMenu::PopupMenu method.

Remarks

If a ToolbarMenu is to popup in a position so close to edge of a screen display, that it will not be fully visible, the AlignLeft property will be ignored. The ToolbarMenu will popup aligned in a direction that will ensure it is fully visible.

AlignLeft does not affect the alignment of an ICommand::Caption or an IToolbarMenu::Caption displayed on a ToolbarItem. In order to change the direction text is displayed the RTL (right to left) display environment variable needs changing. The AlignLeft property will override any RTL (right to left) display environment variables that affect the position of drop down menus.

Product Availability

Available with ArcGIS Engine.

Specified by:
isAlignLeft in interface IToolbarMenu2
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAlignLeft

public void setAlignLeft(boolean pVal)
                  throws IOException,
                         AutomationException
Indicates if the ToolbarMenu displays aligned to the left or right.

Product Availability

Available with ArcGIS Engine.

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

setMouseIconByRef

public void setMouseIconByRef(Picture ppMouseIcon)
                       throws IOException,
                              AutomationException
Custom mouse icon used if MousePointer is 99.

Product Availability

Available with ArcGIS Engine.

Specified by:
setMouseIconByRef in interface IToolbarMenu2
Parameters:
ppMouseIcon - A reference to a com.esri.arcgis.support.ms.stdole.Picture (A com.esri.arcgis.support.ms.stdole.Picture COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMouseIcon

public Picture getMouseIcon()
                     throws IOException,
                            AutomationException
Custom mouse icon used if MousePointer is 99.

Description

The MouseIcon property provides a custom icon that is used when the MousePointer property is set to esriPointerArrowHourglass (99).

If the ToolbarMenu has also been added to the ToolbarControl, the ToolbarControl will override the MouseIcon property with the IToolbarControl::MouseIcon property, before the ToolbarMenu is displayed with the IToolbarMenu::PopupMenu method.

Remarks

In most development evironments a cursor (.cur) or icon (.ico) file can be loaded. A cursor contains a custom 'hotspot' location and can be any size. The 'hotspot' location for an icon file defaults to the center of the icon. This property cannot be used to load animated cursor (.ani) files.

To programatically create an object implementing IPictureDisp there is the win32 function OleLoadPicture or helper methods depending on the development environment.

Product Availability

Available with ArcGIS Engine.

Specified by:
getMouseIcon in interface IToolbarMenu2
Returns:
A reference to a com.esri.arcgis.support.ms.stdole.Picture (A com.esri.arcgis.support.ms.stdole.Picture COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.