Polyruler Annotation Object

The Polyruler annotation object (ANNOBJECT_POLYRULER) is an array of points that create a sequence of joined rulers. In design mode, each line segment is formed with a mouse click, and the object is completed on a double click.

The class for Polyruler Annotation objects is LAnnPolyRuler.

The Polyruler can be used to measure the distance of an irregularly shaped object. As ruler segments are added, removed, or changed in length, a running total of the total distance is displayed.

You can change the points using the LAnnPolyRuler::GetPointCount and the LAnnPolyRuler::SetPoints functions.

For information on flipping, reversing or rotating annotation objects, refer to Flipping, Reversing and Rotating Annotation Objects.

With low-level functions, you must provide the points that define the shape of the object. Other applicable properties have the following defaults, which you can change:

Visible

Defaults to FALSE. It can be changed using the LAnnotation::SetVisible function.

Selected

Defaults to FALSE. It can be changed using the LAnnotation::SetSelected function.

Name

Defaults to an empty string. It can be changed using the LAnnotation::SetNameOptions function.

Line width

Defaults to 0.75 points. It can be changed using the LAnnXXX::SetLineWidth function. (Note that when displayed, the line must have a minimum width of 1 pixel.)

Line style

Defaults to solid. It can be changed using the LAnnXXX::SetLineStyle function.

ROP2 code

Defaults to ANNROP2_COPY. It can be changed using the LAnnotation::SetROP2 function.

Fill mode

Defaults to transparent. It can be changed using the LAnnotation::SetFillMode function.

Foreground color

Defaults to red. It can be changed using the LAnnotation::SetForeColor function.

Background color

Defaults to white. It can be changed using the LAnnotation::SetBackColor function. The default does not affect highlight, redaction, or note objects.

Font size

Defaults to 10 point, translated with a scaling factor of 1. It can be changed using the LAnnotation::SetFontSize function.

Font underline

Defaults to FALSE. It can be changed using the LAnnotation::SetFontUnderline function.

Font strikethrough

Defaults to FALSE. It can be changed using the LAnnotation::SetFontStrikethrough function.

Font italic

Defaults to FALSE. It can be changed using the LAnnotation::SetFontItalic function.

Font bold

Defaults to FALSE. It can be changed using the LAnnotation::SetFontBold function.

Font name

Defaults to "Arial". It can be changed using the LAnnotation::SetFontName function.

Ruler show flags

Defaults to Show Length and Show Tic Marks. These options can be changed using the LAnnRuler::SetShowFlags function and the LAnnPolyRuler::SetTicMarkLength function.

Gauge length

Defaults to 30. It can be changed using the LAnnRuler::SetGaugeLength function.

Unit

Defaults to ANNUNIT_SMART_ENGLISH. It can be changed using the LAnnRuler::SetUnit function.

Unit abbreviation

Varies depending on the length shown. It can be changed using the LAnnRuler::SetUnit function.

Precision

Defaults to 2. It can be changed using the LAnnRuler::SetUnit function.

Tic Marks

Defaults to Show Tic Marks. It can be changed using the LAnnRuler::SetShowFlags function.

Tic Mark Length

Defaults to 30. Can be changed using the LAnnPolyRuler::SetTicMarkLength function.

Fixed State

Defaults to not fixed. It can be changed using the LAnnXXX::SetFixed function.

Hyperlink

Defaults to ANNLINK_NONE. It can be changed using the LAnnotation::SetHyperlink function.

Tag (identifier)

Defaults to 0. It can be changed using the LAnnotation::SetTag function.

Window handle

Defaults to NULL or the handle inherited from the container. It can be changed for all objects using LAnnContainer::SetWnd.

User mode

Defaults to design mode or the mode inherited from the container. It can be changed for all objects using LAnnContainer::SetUserMode.

Related topics:

Implementing Annotations.

Types of Annotations.

Low-Level Coordinate System for Annotations.

Annotation Objects - Automated Features

Using Rulers in Annotation Objects