ANNRESIZEROTATE (Document/Medical only)

typedef struct tagANNRESIZEROTATE
{
   L_UINT uStructSize;
   L_INT nState;
   pANNXFORM pAnnXForm;
   L_DOUBLE dAngle;
} ANNRESIZEROTATE, L_FAR *pANNRESIZEROTATE;

The ANNRESIZEROTATE structure contains information about an annotation object when resizing and/or rotating an object in automated mode.

Member

Description

uStructSize

Size of the ANNCHANGEPARAM structure. Use sizeof(ANNCHANGEPARAM).

nState

Value that indicates the state of the move. Possible values are:

 

Value

Meaning

 

STATE_BEGIN

[1]

 

STATE_UPDATE

[2]

 

STATE_END

[3]

pAnnXForm

Pointer to a structure of type ANNXFORM.

dAngle

Angle of rotation in degrees. Positive is clockwise, and negative is counter-clockwise.

Comments

The ANNRESIZEROTATE structure is part of the union of the ANNCHANGEPARAM structure. For more information, see the documentation for ANNCHANGEPARAM.

When doing any of the following (in automated mode or by calling LAnnotation::Define explicitly)

image\sqrblit.gif Rotate—Shift-clicking a handle in automated mode

image\sqrblit.gif Resizing—dragging a vertex of a rectangular object

image\sqrblit.gif Resize/Rotate—by calling LAnnotation::Define with ANNDEFINE_BEGINMOVEPOINT for a rectangular object (one of the following objects)

ANNOBJECT_RECT

ANNOBJECT_ELLIPSE

ANNOBJECT_HILITE

ANNOBJECT_REDACT

ANNOBJECT_TEXT

ANNOBJECT_NOTE

ANNOBJECT_STAMP

ANNOBJECT_HOTSPOT

A WM_LTANNEVENT message is sent where wParam is ANNCHANGE_RESIZE, ANNCHANGE_ROTATE, or ANNCHANGE_RESIZE_ROTATE.

The lParam field points to a structure of type ANNCHANGEPARAM. In this case, the union of ANNCHANGEPARAM is type ANNRESIZEROTATE. This message is sent when one of the following events occurs:

image\sqrblit.gif Starting the resize/rotate (with a mouse click): two messages are sent, one before and one after the initial mouse click. The nState field is set to STATE_BEGIN. The dAngle field is zero intially, regardless of the orientation of the object.

image\sqrblit.gif Updating the resize/rotate (by dragging the mouse): Pairs of messages (one before and one after) are sent for each mouse move. The nState field is set to STATE_UPDATE, and the dAngle field contains angle of rotation relative to the original angle. For example, if the original object was already rotated 15 degrees, and the object is rotated 20 degrees more, dAngle would be 20 degrees.

image\sqrblit.gif Ending the resize/rotate (by releasing the mouse): One pair of messages is sent (one before and one after) for the mouse up. The nState field is set to STATE_END, and the dAngle field contains the final angle, relative to the original angle.

The pANNXFORM is a pointer to a structure of type ANNXFORM. In each of the three cases above, the ANNXFORM contains a matrix that is about to be (when bAfter is FALSE) or already has been (when bAfter is TRUE) applied to the object.

See Also

Topics:

WM_LTANNEVENT