Bagikan melalui


Metode IStylusPlugin::StylusInRange (rtscom.h)

Memberi tahu plug-in penerapan bahwa stylus memasuki rentang deteksi digitizer.

Sintaks

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

Parameter

[in] piRtsSrc

Objek Kelas RealTimeStylus yang mengirim pemberitahuan.

[in] tcid

Pengidentifikasi konteks tablet.

[in] sid

Pengidentifikasi Stylus.

Nilai kembali

Untuk deskripsi nilai pengembalian, lihat Kelas dan Antarmuka RealTimeStylus.

Keterangan

Stylus berada dalam rentang digitizer. Ini adalah tempat yang baik untuk memeriksa apakah stylus terbalik dan jika demikian, beralihlah ke mode penghapus.

Contoh

Contoh C++ berikut mengimplementasikan metode Metode IStylusPlugin::StylusInRange yang mendapatkan status semua tombol pada stylus dan melaporkannya ke jendela debug menggunakan makro 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;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP Tablet PC Edition [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Target Platform Windows
Header rtscom.h
DLL RTSCom.dll

Lihat juga

IStylusAsyncPlugin

Antarmuka IStylusPlugin

Metode IStylusPlugin::StylusOutOfRange

IStylusSyncPlugin