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)
 Rotate—Shift-clicking a handle in 
 automated mode
 Rotate—Shift-clicking a handle in 
 automated mode
 Resizing—dragging a vertex of a rectangular 
 object
 Resizing—dragging a vertex of a rectangular 
 object
 Resize/Rotate—by calling LAnnotation::Define 
 with ANNDEFINE_BEGINMOVEPOINT for a rectangular object (one of the following 
 objects)
 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:
 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.
 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.
 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.
 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.
 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.
 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: |