User Interface for Container and Automation Objects
Note: |
This topic is for Imaging toolkits. |
When using automated annotations, you can change the default properties of the user interface and the objects in the container by clicking on the container with the right mouse button. When you change the default properties, you are, in fact, changing the properties of the automation object that is associated with the container. The popup menu lets you do the following:
Undo the last user action.
Cut, copy and paste objects using the Windows clipboard.
Delete all selected objects.
Select all annotation objects in the container.
Arrange the layering of an object or group of objects.
Lock and unlock annotation objects. See Password Dialog Box for Annotations
Change the name properties. See Name Dialog Box for Annotations.
Change the default line width and style properties. See Line Dialog Box for Annotations.
Change the ROP2 code property. See ROP2 Dialog Box for Annotations
Change whether transparency is used.
Change the transparent color. See Color Dialog Box for Annotations.
Change the default fill mode and fill pattern. See Fill Dialog Box for Annotations.
Change the polygonal fill mode, which controls which areas are filled when lines cross. See Fill Dialog Box for Annotations.
Change the default foreground and background colors. See Color Dialog Box for Annotations.
Change the background color used by Note, Redact, or Hilite objects. See Color Dialog Box for Annotations.
Change the font selection and font characteristics. See Font Dialog Box for Annotations.
Change the Button font selection and font characteristics. See Font Dialog Box for Annotations.
Change the metafile to be used by Hotspot objects. See Hotspot Metafile Dialog Box for Annotations.
Change the metafile to be used by Encrypt objects. See Encrypt Metafile Dialog Box for Annotations.
Change the metafile to be used by Decrypt objects. See Decrypt Metafile Dialog Box for Annotations.
Change the default Ruler properties (length, gauge, tic marks, measurement units, precision). See Ruler Dialog Box for Annotations.
Change the node properties for objects that have nodes (whether to display the nodes and which nodes to display). See Nodes Dialog Box for Annotations.
Change the default Protractor properties (whether to draw the inside or outside angle, how far out to draw the angle, whether to use radians or degrees, which unit abbreviation, and precision). See Protractor Dialog Box for Annotations.
Change the default Point properties (whether to use a bitmap, whether to use transparency, transparent color, border color, radius, fill color, fixed size). See Point Default Properties Dialog Box for Annotations.
Change the default Encrypt properties (key, type (encryptor or decryptor), and location). See Encrypt Dialog Box for Annotations.
Change the default Fixed properties. See Fixed Dialog Box for Annotations.
Set and manage hyperlink properties for an object or group of objects. Note: The actual management of hyperlink must be done through low-level implementation. Only the Menu Item "Hyperlink" and an associated event are provided through the automation object. For more information, refer to Implementing Annotation Hyperlinks.
Set the snap-to-grid state to on or off.
Change the look and behavior of the snap-to-grid. For more information, refer to Snap To Grid Dialog Box for Annotations.
The default background color does not affect highlight, redaction, and note objects.
Use the L_AnnSetOptions function and the L_AnnGetOptions function to control the following features:
Rubber Stamp Display Style
XP Style Annotation Toolbar
Alpha Background Fill Option
Annotation Rotate Option
Annotation Side Handles
Annotation Multiselect
Annotation Cursors
ESC to Cancel
Calibrate Ruler Feature
Dot Dash Lines
Text Annotation Options
For more information about these features, refer to Annotation Features.
If the annotation objects are container, automation, text, text pointer, stamp, note, pushpin, or button objects it is possible to use the L_AnnGetTextOptions and the L_AnnSetTextOptions functions to set the objects to show or hide the text and to set the color of the text. In addition, if the annotation objects are text or stamp objects these functions can set the objects to show or hide the borders of the object. Note that these features must be enabled using the L_AnnSetOptions function.
The L_AnnSetFillMode and the L_AnnGetFillMode extends the original functions to support the ANNMODE_ALPHA fill mode. Before calling these two functions, enable the alpha background fill mode by calling the L_AnnSetOptions function.
Grouping and Ungrouping Annotation Objects
When using Automated annotations, if the UserMode is set to ANNUSER_DESIGN, selecting or un-selecting an object that belongs to a container which is not the root container, makes all objects from that container to be selected or unselected. This allows all objects in a sub-container to be treated as a group.
To group objects, create a container and insert the new container into the root container specifying fStripContainer = FALSE in the call to L_AnnInsert. Then, you can insert items into the sub-container to create a group. Any object that is inside the root container will be treated as an individual object when using Automated annotations. This is done automatically for you when using Automated annotations and the user selects Group or Ungroup from the automation menu.
Disabling Automation Menu Items
When you call L_AnnSetAutoText, if you pass an empty string, the menu item defined by uItem will be disabled and removed from the automation menu. To re-enable the menu item, you must call L_AnnSetAutoText and pass a valid string.
For low-level implementation details, refer to Container Annotation Object and Annotation Automation Object.