TARGINFO 

2.0     

A set of targets.

typedef struct { 

     DWORD cbSize;

     DWORD dwFlags;

     HTRG htrgOwner;

     WORD cTargets;

     WORD iTargetLast;

     TARGET rgTarget[1];

} TARGINFO;

 

Members

cbSize

Size of this structure in bytes. Note that this is the original size, which assumes only a single TARGET1AOCY_ structure in rgTarget. The value should be sizeof( TARGINFO ).

dwFlags

Flags have been defined to get different targeting behavior depending on the needs of the calling application. These flags work as hints for the targeting algorithm. The flags are considered by the Pen API in the order in which they appear in the following list. If none of the flags are set, the stroke is not assigned to any target.

TPT_TEXTUAL

When this flag is set, Windows applies textual heuristics, such as identifying word breaks, while deciding the target to which a stroke should be assigned.

If there is no text to intersect with, the input is disregarded completely. Therefore, this option should not generally be used by itself.

TPT_INTERSECTINK

Indicates that if the stroke being targeted intersects with the ink in a target, the stroke should be assigned to that target. Intersection is determined based on the bounding rectangle of the stroke and the bounding rectangle of the pen data assigned to a target. If there is no ink to intersect with, the input is disregarded completely. Therefore, this option should not generally be used by itself.

TPT_CLOSEST

Indicates that the stroke should be targeted to the target closest to the stroke. The bounding rectangle of the stroke and the bounding rectangle of the target are specified by the rectBound element of the TARGET1AOCY_ structure.

htrgOwner

Handle to the owner target. Use the HtrgFromHwnd and HwndFromHtrg macros to convert a target handle of HTRG type to and from an HWND type.

cTargets

Number of targets.

iTargetLast

Last target. Used by the TargetPoints1AOCU0 function during textual heuristics. iTargetLast contains the number of the target window that last received data. The system uses this value to optimize its determination of the next target. Applications can read but should not overwrite iTargetLast.

rgTarget[1]

Variable-length array of targets.

 

Comments

For best results, most applications should set all hints for targeting. That is, the dwFlags member of TARGINFO should be set to TPT_DEFAULT, which is the combination of TPT_TEXTUAL | TPT_INTERSECTINK | TPT_CLOSEST.

Before using TARGINFO, an application must initialize cbSize with sizeof( TARGINFO ).

See Also

TARGET, TargetPoints