Ink Input

The pen edit controls discussed previously provide a simple and efficient method for an application to accept handwritten input. Pen edit controls continue the philosophy and design of a standard Windows edit control; that is, they place the burden of getting user input on the system rather than the application.

However, ink input API services also offer an application low-level control over the writing process. Ink input allows an application to gather raw data from the pen, then process it in any way it wishes. For example, the application can manage its own inking or even postpone inking to a later time. It can massage or filter the pen data in some way pics/PENAPI00090001.gif say, by rotating an image based on pen movement. It can pass the data to a handwriting recognizer or simply throw the data away. Ink input offers an application greater freedom with ink data than simply parsing it for characters.

As you might expect, the increased control afforded by ink input requires increased programming effort. The flexibility of ink input does not allow a simple recipe of tasks, but in broad terms the three main steps are as follows:

  1. Start the chain of events.

  2. Collect and display data.

  3. Process the data.

An application can rely on the DoDefaultPenInput function to collect and process ink input. For a description of this function, see Chapter 2, "Starting Out with System Defaults." The following sections focus on the lowest-level API services. Through these low-level services, an application has complete control over ink input. These are the same services DoDefaultPenInput calls internally. If you have read Chapter 2, the message traffic described here will seem familiar.

The PENAPP sample application described in Chapter 7, "A Sample Pen Application," demonstrates how to use the low-level API services for ink input. Most of the code fragments in the following sections appear in the PENAPP.C source listing located in the SAMPLES\C\PENAPP directory.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database