SetRecogHook
1.0 2.0
Installs and
removes a recognition hook. This function works only for Pen API version 1.0
recognizers accessed through Recognize
Note This function
is provided only for compatibility with version 1.0 of the Pen API and will not
be supported in future versions. Use SetResultsHookHREC instead.
BOOL SetRecogHook( UINT uScope, UINT uSetOp,
HWND hwndHook )
Parameters
uScope
Scope of
hook. The hook parameter uSetOp determines the scope of the hook. The
following table lists the HWR_ values for uSetOp:
Constant |
Description |
HWR_RESULTS |
The hook
window receives a WM_HOOKRCRESULT message before a WM_RCRESULT message is
sent to the target window. |
HWR_APPWIDE |
The hook
window receives the message WM_HOOKRCRESULT before a WM_RCRESULT message is
sent to the target window if the target window belongs to the same task as
the window that set an HWR_APPWIDE hook. This is useful for implementing
application-wide gestures. The
RCRT_ALREADYPROCESSED flag is set in the wResultsType member of the RCRESULTS
structure sent with WM_RCRESULT if an application-wide hook has already
processed the data. |
uSetOp
Parameter to
determine whether hook is set or removed. The operation parameter uSetOp
determines whether the hook is set or removed. The following table lists the
HKP_ values for uScope:
Constant |
Description |
HKP_SETHOOK |
Installs a
hook. |
HKP_UNHOOK |
Removes
function from hook list. |
hwndHook
Handle to a
window.
Return Value
Returns TRUE
if successful; otherwise, FALSE.
Comments
SetRecogHook enables a version 1.0 application to examine the
results of recognition before they are sent to the target application.
The hook
message is WM_HOOKRCRESULT. The wParam and lParam parameters are
the same as for the WM_RCRESULT message. If the window procedure that receives
the WM_HOOKRCRESULT message returns FALSE, the message WM_HOOKRCRESULT is not
sent to any of the remaining hooks in the chain.
No drawing
should occur during the processing of the WM_HOOKRCRESULT and before
recognition is complete. Drawing at these times could cause timing problems,
with ink reappearing in formerly invisible controls as they are redrawn.
See Also