Freigeben über


IStylusPlugin::StylusInRange-Methode (rtscom.h)

Benachrichtigt das implementierende Plug-In, dass der Eingabestift in den Erkennungsbereich des Digitizers eintritt.

Syntax

HRESULT StylusInRange(
  [in] IRealTimeStylus   *piRtsSrc,
  [in] TABLET_CONTEXT_ID tcid,
  [in] STYLUS_ID         sid
);

Parameter

[in] piRtsSrc

Das RealTimeStylus-Klassenobjekt , das die Benachrichtigung gesendet hat.

[in] tcid

Tablet-Kontextbezeichner.

[in] sid

Eingabestiftbezeichner.

Rückgabewert

Eine Beschreibung der Rückgabewerte finden Sie unter RealTimeStylus-Klassen und -Schnittstellen.

Hinweise

Der Stift befindet sich im Bereich des Digitizers. Dies ist ein guter Ort, um zu überprüfen, ob der Stift invertiert ist, und wenn ja, wechseln Sie in den Radierermodus.

Beispiele

Im folgenden C++-Beispiel wird eine IStylusPlugin::StylusInRange-Methode implementiert, die die status aller Schaltflächen auf einem Eingabestift abruft und diese mithilfe des TRACE-Makros an das Debugfenster meldet.

STDMETHODIMP CPacketModifier::StylusInRange( 
            /* [in] */ IRealTimeStylus *piRtsSrc,
            /* [in] */ TABLET_CONTEXT_ID tcid,
            /* [in] */ STYLUS_ID sid)
{
    IInkCursor* pInkCursor;
	HRESULT hr = piRtsSrc->GetStylusForId(sid, &pInkCursor);

	if (SUCCEEDED(hr))
	{
		IInkCursorButtons* pInkCursorButtons;
		hr = pInkCursor->get_Buttons(&pInkCursorButtons);

		if (SUCCEEDED(hr))
		{
			LONG lButtonCount;
			pInkCursorButtons->get_Count(&lButtonCount);

			if (SUCCEEDED(hr))
			{
				IInkCursorButton* pInkCursorButton;
				VARIANT index;
				VariantInit(&index);
				index.vt = VT_I4;

				for (index.intVal = 0; index.intVal < lButtonCount; index.intVal++)
				{
					hr = pInkCursorButtons->Item(index, &pInkCursorButton);

					if (SUCCEEDED(hr))
					{
						InkCursorButtonState currentState;
						hr = pInkCursorButton->get_State(&currentState);

						if (SUCCEEDED(hr))
						{
							switch(currentState)
							{
								case ICBS_Unavailable:
									TRACE("ICBS_Unavailable\n");
									break;

								case ICBS_Up:
									TRACE("ICBS_Up\n");
									break;

								case ICBS_Down:
									TRACE("ICBS_Down\n");
									break;

								default:
									TRACE("Cursor button state unknown.\n");
									break;
							}
						}
					}
				}

				VariantClear(&index);
			}
		}
	}

	return hr;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile rtscom.h
DLL RTSCom.dll

Weitere Informationen

Istylusasyncplugin

IStylusPlugin-Schnittstelle

IStylusPlugin::StylusOutOfRange-Methode

Istylussyncplugin