Home   Index   About
Ultimate Pack


Custom Search
PeekPenInput

  1. 0

Retrieves information about a specified pen packet in the pen input queue. For a definition of pen packet, see the description of SetPenHook.

int PeekPenInput( HPCM hpcm, UINT idEvent, LPPOINT lppt, LPVOID lpvOem, UINT fuOemFlags )

Parameters

hpcm

Handle to a pen collection. This is the return value from StartPenInput.

idEvent

The identifier of the packet to be retrieved. The idEvent is the low-order word of the value returned from the Windows GetMessageExtraInfo function when processing a WM_LBUTTONDOWN message.

lppt

Far pointer to a POINT structure. PeekPenInput copies the point corresponding to idEvent into the buffer pointed to by lppt.

lpvOem

The address of a buffer of OEM data in the packet. This parameter can be NULL if no OEM data is required.

fuOemFlags

Flags specifying which OEM data to retrieve. If this parameter is NULL, all of the OEM data provided by the tablet is returned in the order specified by the rgoempeninfo array in PENINFO.

These flags have an implicit order. For example, if pressure and barrel rotation are specified in that order, cPntMax pairs of these data are returned in the same order: [pressure, rotation], [pressure, rotation], and so on. (cPntMax is the number of POINT structures specified in GetPenInput.)

Constant
Description
PHW_PRESSURE
Retrieve pressure data.
PHW_HEIGHT
Retrieve height data.
PHW_ANGLEXY
Retrieve data pertaining to the x- and y-coordinates.
PHW_ANGLEZ
Retrieve data pertaining to the z-coordinates.
PHW_BARRELROTATION
Retrieve barrel-rotation data.
PHW_OEMSPECIFIC
Retrieve OEM-specific data.
PHW_PDK
Retrieve PDK_ data.

Return Value

Returns PCMR_OK if successful; otherwise, the return value can be one of the following:

Constant
Description
PCMR_INVALIDCOLLECTION
The hpcm handle is invalid because the calling application did not start input with StartPenInput.
PCMR_INVALID_PACKETID
idEvent is invalid.

Comments

Unlike GetPenInput, this function does not remove data from the pen input queue. It only returns information about the packet specified by idEvent.

Whereas lppt points into the pen input queue, lpvOem does not. If lpvOem is not NULL, it points to a buffer provided by the caller into which the OEM data are copied from the pen input queue.

The buffer that lpvOem points to must be large enough to hold the requested OEM data copied from the packet. The size of each packet is the width specified in the cbOemData member of the PENINFO structure, plus sizeof( UINT ) if PDK_ values are required.

See Also

GetPenInput
, PENPACKET, PDK_


Last news from Greatis Software

Nostalgia .Net     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 for Delphi and C++ Builder     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     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     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     Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available  More »

iGrid     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 projects

Dmitry Vasiliev (just.dmitry)

Related Links

Software 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

Free Tech Secrets ;) Copyright © 2008-2012 Free Tech Secrets ;) greatis just4fun network just4fun