LEADTOOLS Raster Imaging C++ Class Library Help > LEADTOOLS Raster Imaging Features > Annotations > Annotation Automation > User Interface for Container and Automation Objects |
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 binary raster operation (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 (transparent, translucent, or opaque) and the 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 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.
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 LAnnContainer::Insert. 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 LAnnAutomation::SetAutoText, 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 LAnnAutomation::SetAutoText and pass a valid string.
The default background color does not affect highlight, redaction, and note objects.
Use the LAnnotation::SetOptions function and the LAnnotation::GetOptions 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 Multi-select
Annotation Cursors
ESC to Cancel
Calibrate Ruler Feature
Dot Dash Lines
Text Annotation Options
For more information about these features, refer to Key Annotation Features.
If the annotation objects are container, automation, text, text pointer, stamp, note, pushpin, or button objects it is possible to use the LAnnotation::GetTextOptions and the LAnnotation::SetTextOptions 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. These features must be enabled using the LAnnotation::SetOptions function.
Use the LAnnotation::SetFillMode and LAnnotation::GetFillMode functions to manage the fill mode used by annotation objects.
For low-level implementation details, refer to the Container Annotation Object and the Annotation Automation Object topics.