|
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 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:
- Start the chain of events.
- Collect and display data.
- 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.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|