ANNCHANGEPARAM (Document/Medical only)
typedef struct tagANNCHANGEPARAM
{
   L_UINT uStructSize; 
 // size of this structure
   HANNOBJECT hObject; // object 
 being changed.
   ANNCHANGETYPE uChange; 
 // the type of change being performed
   L_INT nChange; // set 
 to SUCCESS_CHANGE to allow the modification, 
   // set to SUCCESS_NO_CHANGE cancel the change
   L_UINT uUnionType; // 
 field in the union that contains the value
   L_BOOL bAfter; // FALSE--fired 
 before the change
   // TRUE --fired after the change
   L_UINT uFlags; // Indicates 
 if change is part of a 
   // Undo, Cut, Copy, Paste, Create, Delete
   union
   {
      L_DOUBLE 
 dDouble; // valid if the object is being rotated
      COLORREF crColor;
      L_BOOL 
 bBool;
      L_UINT32 
 uUint32;
      L_UINT 
 uUint;
      L_TCHAR 
 FAR* pszString;
      ANNPOINT 
 apt;
      pBITMAPHANDLE 
 pBitmapHandle;
      HMETAFILE hMetafile;
      HANNOBJECT 
 hObject;
      ANNHYPERLINK 
 AnnHyperlink;
      ANNRULERUNIT 
 AnnRulerUnit;
      ANNPROTRACTOR 
 AnnProtractor;
      ANNMOVE AnnMove;
      ANNMOVEPOINT 
 AnnMovePoint;
      ANNRESIZEROTATE 
 AnnResizeRotate;
   }u;
} ANNCHANGEPARAM, L_FAR * pANNCHANGEPARAM;
The ANNCHANGEPARAM contains information about the changes to be made in automated mode to
the specified object.
| Member | Description | |
| uStructSize | Size of the ANNCHANGEPARAM structure. Use sizeof(ANNCHANGEPARAM). | |
| hObject | Handle to the affected annotation object. | |
| uChange | Type of change being performed. Possible values are: | |
| 
 | Value | Meaning | 
| 
 | ANNTYPE_NONE | [0]No part of the union is valid | 
| 
 | ANNTYPE_COLORREF | [1] The crColor field is valid | 
| 
 | ANNTYPE_UINT32 | [2] The uUint32 field is valid | 
| 
 | ANNTYPE_BOOL | [3] The bBool field is valid | 
| 
 | ANNTYPE_DOUBLE | [4] The dDouble field is valid | 
| 
 | ANNTYPE_UINT | [5] The uUint field is valid | 
| 
 | ANNTYPE_LPCSTR | [6] The pszString field is valid | 
| 
 | ANNTYPE_ANNPOINT | [7] The apt field is valid (type ANNPOINT) | 
| 
 | ANNTYPE_BITMAP | [8] The pBitmapHandle field is valid (type pBITMAPHANDLE) | 
| 
 | ANNTYPE_HMETAFILE | [9] The hMetafile field is valid | 
| 
 | ANNTYPE_HYPERLINK | [10] The AnnHyperlink field is valid (type ANNHYPERLINK) | 
| 
 | ANNTYPE_RULER_UNIT | [11] The AnnRulerUnit field is valid (type ANNRULERUNIT) | 
| 
 | ANNTYPE_PROTRACTOR | [12] The AnnProtractor field is valid (type ANNPROTRACTOR) | 
| 
 | ANNTYPE_MOVE | [13] The AnnMove field is valid (type ANNMOVE) | 
| 
 | ANNTYPE_MOVE_POINT | [14] The AnnMovePoint field is valid (type ANNMOVEPOINT) | 
| 
 | ANNTYPE_RESIZE_ROTATE | [15] The AnnResizeRotate field is valid (type ANNRESIZEROTATE) | 
| 
 | ANNTYPE_HANNOBJECT | [16] The hObject field is valid | 
| nChange | When the message is received, this value is set to SUCCESS_CHANGE. | |
| 
 | If the bAfter field is set to FALSE (indicating that this message is sent prior to the change), then changing the value of nChange before processing the message affects the behavior. Possible values are: | |
| 
 | Value | Meaning | 
| 
 | SUCCESS_CHANGE | [1] Accept the change and allow the ‘after’ message to be sent | 
| 
 | SUCCESS_NO_CHANGE | [2] Cancel the change and cancel the ‘after’ message | 
| uUnionType | Indicates the part of the union that is valid. The union specifies additional information about the change. | |
| bAfter | Value that indicates whether the message is being sent after the change. Possible values are | |
| 
 | Value | Meaning | 
| 
 | TRUE | The message is being sent after the change. | 
| 
 | FALSE | The message is being sent prior to the change. | 
| uFlags | Value that indicates if this change is part of another change. For example, an ANNCHANGE_SELECT_ALL change resuls in several individual ANNCHANGE_SELECT changes. | |
| 
 | The uFlags can be one or more of the following (logically‘OR’ed together) | |
| 
 | ANNCHANGE_FLAG_UNDO | [0x001] | 
| 
 | ANNCHANGE_FLAG_CUT | [0x002] | 
| 
 | ANNCHANGE_FLAG_PASTE | [0x008] | 
| 
 | ANNCHANGE_FLAG_SELECT_ALL | [0x010] | 
| 
 | ANNCHANGE_FLAG_LOCK_SELECTED | [0x020] | 
| 
 | ANNCHANGE_FLAG_UNLOCK_SELECTED | [0x040] | 
Comments
By default, nChange will be set to SUCCESS_CHANGE for every object. To disable the change for a particular object, set nChange to SUCCESS_NOCHANGE for that change. When disabling a change, the corresponding ‘after’ message is cancelled. nChange will be reset to SUCCESS_CHANGE before the notification is called for the next object.
The union of ANNCHANGEPARAM specifies additional information about the change. For example, for the change ANNCHANGE_FORECOLOR, the uUnionType field will be ANNTYPE_COLORREF indicating that the crColor part of the union is valid. In this case, it contains the color that the foreground will be changed to (if bAfter is FALSE) or has already been changed to (if bAfter is TRUE).
See Also
| Topics: |