SetStrokeAttributes
2.0
Sets
attributes of a stroke or of a class of strokes in an HPENDATA object.
int SetStrokeAttributes( HPENDATA hpndt,
UINT iStrk, LPARAM lParam, UINT uOption
)
Parameters
hpndt
Handle to the
HPENDATA object.
iStrk
Zero-based
stroke index. A value of IX_END can be used to specify the last available
stroke in the pen data.
lParam
A pointer to
a structure (cast to the LPARAM type), or a byte, word, or double-word value,
depending on uOption. This parameter cannot be NULL.
uOption
Specifies the
attributes to set. This parameter has one of the following values:
Constant |
Description |
SSA_DOWN |
Set the up
and down state of the pen tip for the stroke specified by iStrk. lParam
is nonzero to make it a downstroke or 0 to make it an upstroke. |
SSA_PENTIP |
Set the
pen-tip characteristics (color, width, nib type) used by the stroke specified
by iStrk. lParam is a pointer to a PENTIP |
SSA_PENTIPCLASS |
Set the
pen-tip characteristics (color, width, nib) for all strokes of which the
stroke specified by iStrk is a member. lParam is a pointer to a
PENTIP |
SSA_SELECT |
Set the
selection status of the stroke specified by iStrk. lParam is
nonzero to select it or 0 to deselect it. |
SSA_TIME |
Set the
absolute time of the stroke. lParam is a pointer to an ABSTIME |
SSA_USER |
Set the
user value for the stroke specified by iStrk. lParam is a BYTE,
WORD, or DWORD value, and the pen data must have been created with the
corresponding size allocated for user values. |
SSA_USERCLASS |
Set the
user value for the class of strokes of which the stroke specified by iStrk
is a member. lParam is a BYTE, WORD, or DWORD value, and the pen data
must have been created with the corresponding size allocated for user values. |
Return Value
Returns PDR_OK
if successful; otherwise, returns one of the following negative values:
Constant |
Description |
PDR_COMPRESSED |
Pen data is
compressed. |
PDR_ERROR |
Parameter
or other unspecified error. |
PDR_MEMERR |
Memory
error. |
PDR_PNDTERR |
Invalid pen
data. |
PDR_SCTERR |
Stroke
class table may be full, or related error. |
PDR_STRKINDEXERR |
Invalid
stroke index. |
PDR_TIMESTAMPERR |
Timing
information was removed. |
PDR_VERSIONERR |
Could not
convert old pen data. |
Comments
The bounding
rectangle of the pen data is recalculated each time the SSA_DOWN option is
used, because the rectangle represents the bounds of only the pen-down points.
Setting a pen-up point to the down state simply adds (union) the bounding
rectangles of the existing pen data and the stroke. Setting a pen-down point to
the up state is more calculation-intensive, however, since the bounding
rectangle must be calculated from all of the remaining strokes.
See Also