Compartir a través de


Método IStylusPlugin::StylusInRange (rtscom.h)

Notifica al complemento de implementación que el lápiz óptico entra en el intervalo de detección del digitalizador.

Sintaxis

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

Parámetros

[in] piRtsSrc

Objeto RealTimeStylus Class que envió la notificación.

[in] tcid

Identificador de contexto de tableta.

[in] sid

Identificador de lápiz óptico.

Valor devuelto

Para obtener una descripción de los valores devueltos, vea RealTimeStylus Classes and Interfaces (Clases e interfaces de RealTimeStylus).

Comentarios

El lápiz óptico está en rango del digitalizador. Este es un buen lugar para comprobar si el lápiz óptico está invertido y, si es así, cambiar al modo borrador.

Ejemplos

En el siguiente ejemplo de C++ se implementa un método IStylusPlugin::StylusInRange Method que obtiene el estado de todos los botones de un lápiz óptico e informa a la ventana de depuración mediante la macro TRACE .

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;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP Tablet PC Edition [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado rtscom.h
Archivo DLL RTSCom.dll

Consulte también

IStylusAsyncPlugin

IStylusPlugin (Interfaz)

IStylusPlugin::StylusOutOfRange (Método)

IStylusSyncPlugin