DoDefaultPenInput
2.0
Initiates default
handling of pen input.
int DoDefaultPenInput( HWND hwnd, UINT
wEventRef )
Parameters
hwnd
Handle to the
window initiating the default processing.
wEventRef
An identifier
of a pen event in the input stream, from which input is begun. This identifier
is the value returned from the GetMessageExtraInfo
Return Value
Returns one
of the following values:
Constant |
Description |
PCMR_OK |
Pen
collection was successfully started. |
PCMR_ALREADYCOLLECTING |
StartPenInput has already been called for this session. |
PCMR_APPTERMINATED |
The
application aborted input. |
PCMR_ERROR |
Illegal
parameter or unspecified error. |
PCMR_INVALID_PACKETID |
Invalid
packet identifier. |
PCMR_SELECT |
Press-and-hold
was detected. Collection is not started. |
PCMR_TAP |
A pen tap
was detected. Collection is not started. |
Comments
DoDefaultPenInput simplifies the pen input process by including the
following capabilities in a single call:
Starts pen input by calling StartPenInput
Starts inking by calling StartInking
Saves the screen background
overwritten by the ink
Collects the pen input data
Stops inking by calling StopInking
Stops pen input by calling StopPenInput
Targets the pen input data to
windows
Recognizes results
Sends the recognition results
to the targets
The default
processing proceeds in three phases: initialization, data gathering, and
termination. A set of submessages corresponds to each of the three phases.
During the initialization
phase, the system sends the WM_PENEVENT sub-message PE_SETTARGETS and
potentially several PE_GETPCMINFO and PE_GETINKINGINFO messages. After the
target or the DefWindowProc
function handles these messages and returns a value of PCMR_OK to indicate
success, the data-gathering phase begins.
During the data-gathering
phase, the window specified by the hwnd parameter starts to receive the
core pen-input submessages PE_PENDOWN, PE_PENUP, and PE_PENMOVE. The window
should let these submessages fall through to DefWindowProc, which
translates them into the higher-level messages PE_BEGINDATA and PE_MOREDATA.
These are sent to one of the windows specified in the htrgTarget members
of the TARGET
structures if targeting is in progress; otherwise, the messages are sent to hwnd.
The termination phase begins
when the pen input terminates. The target window should let the core
termination messages PE_TERMINATING and PE_TERMINATED fall through to DefWindowProc . The PE_ENDDATA,
PE_RESULT, and PE_ENDINPUT submessages are sent by DefWindowProc while
processing PE_TERMINATED.
A return
value of LRET_ABORT to any of the WM_PENEVENT submessages aborts the entire
process of default input.
See Also