IAcadToolFlyoutShape Interface

When a user selects or drags a flyout tool at runtime, the framework queries the tool for the IAcadToolFlyoutShape interface. Tool Palette applications use this interface to receive the IDs of shapes that are selected or dragged. If a shape is selected for execution, the framework queries the IAcadTool object for this interface. However, if the shape is dragged from the flyout, the IAcadStockTool object is queried. The QueryInterface() methods for both the tool and stock tool interface objects should be prepared to return the IAcadToolFlyoutShape interface pointer.

When the framework gets your IAcadStockTool pointer, it passes in a single flyout ID if a flyout tool is selected, or an array of IDs if multiple flyout tools are dragged. It then executes your tool. It is the tool's responsibility to examine the IDs and reset its property state. If your tool does not examine the IDs and branch accordingly, the shapes simply execute the main tool. Thus, if you define a flyout tool, you must use the IAcadToolFlyoutShape interface to specialize your shapes' behaviors.