ホーム › UI.TabletPC › IRealTimeStylus3
IRealTimeStylus3
COM公式ドキュメント
IRealTimeStylus3 インターフェイスは、リアルタイム スタイラスでマルチタッチを有効にします。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
IRealTimeStylus3 オブジェクトでマルチタッチ入力が有効になっているかどうかを示します。(Get)
| pfEnable | BOOL* | out | マルチタッチ入力が有効かどうかを受け取る出力ポインタである。 |
解説(Remarks)
次の表に、マルチタッチ向けに定義されているオプトイン オプションを示します。
| 名前 | 説明 | 値 |
|---|---|---|
| TABLET_ENABLE_MULTITOUCHDATA | マルチタッチ データへのオプトインを示します。 | 0x01000000 |
例
次の例は、RealTimeStylus3 インターフェイスを使用してマルチタッチを有効にする方法を示しています。
CComQIPtr<IRealTimeStylus3> spRealTimeStylus3 = g_spRealTimeStylus;
if(spRealTimeStylus3 == NULL)
{
return FALSE;
}
HRESULT hr = spRealTimeStylus3->put_MultiTouchEnabled(TRUE);
if(FAILED(hr))
{
return FALSE;
}
次の例は、ウィンドウに対して TABLET_ENABLE_MULTITOUCHDATA プロパティを明示的に設定する方法を示しています。
//Set the window property
ATOM m_atom = ::GlobalAddAtom(MICROSOFT_TABLETPENSERVICE_PROPERTY);
m_dwProperty = TABLET_ENABLE_MULTITOUCHDATA;
::SetProp(m_hwnd, (LPTSTR)m_atomPenService, (HANDLE)m_dwProperty);
//A Window Property takes effect on the down action of the 1st finger.
//process the LRESULT from WinProc:
//A custom LRESULT CALLBACK
GestureTest::WindowProcedure(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
case WM_TABLET_QUERYSYSTEMGESTURESTATUS:
return TABLET_ENABLE_MULTITOUCHDATA;
}
IRealTimeStylus3 オブジェクトでマルチタッチ入力が有効になっているかどうかを示します。(Put)
| fEnable | BOOL | in | マルチタッチ入力を有効にするかどうかを指定する。 |
解説(Remarks)
次の表に、マルチタッチ向けに定義されているオプトイン オプションを示します。
| 名前 | 説明 | 値 |
|---|---|---|
| TABLET_ENABLE_MULTITOUCHDATA | マルチタッチ データへのオプトインを示します。 | 0x01000000 |
例
次の例は、RealTimeStylus3 インターフェイスを使用してマルチタッチを有効にする方法を示しています。
CComQIPtr<IRealTimeStylus3> spRealTimeStylus3 = g_spRealTimeStylus;
if(spRealTimeStylus3 == NULL)
{
return FALSE;
}
HRESULT hr = spRealTimeStylus3->put_MultiTouchEnabled(TRUE);
if(FAILED(hr))
{
return FALSE;
}
次の例は、ウィンドウに対して TABLET_ENABLE_MULTITOUCHDATA プロパティを明示的に設定する方法を示しています。
//Set the window property
ATOM m_atom = ::GlobalAddAtom(MICROSOFT_TABLETPENSERVICE_PROPERTY);
m_dwProperty = TABLET_ENABLE_MULTITOUCHDATA;
::SetProp(m_hwnd, (LPTSTR)m_atomPenService, (HANDLE)m_dwProperty);
//A Window Property takes effect on the down action of the 1st finger.
//process the LRESULT from WinProc:
//A custom LRESULT CALLBACK
GestureTest::WindowProcedure(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
case WM_TABLET_QUERYSYSTEMGESTURESTATUS:
return TABLET_ENABLE_MULTITOUCHDATA;
}
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IRealTimeStylus3 "{D70230A3-6986-4051-B57A-1CF69F4D9DB5}" #usecom global IRealTimeStylus3 IID_IRealTimeStylus3 "{E26B366D-F998-43CE-836F-CB6D904432B0}" #comfunc global IRealTimeStylus3_get_MultiTouchEnabled 3 var #comfunc global IRealTimeStylus3_put_MultiTouchEnabled 4 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IRealTimeStylus3 "{D70230A3-6986-4051-B57A-1CF69F4D9DB5}" #usecom global IRealTimeStylus3 IID_IRealTimeStylus3 "{E26B366D-F998-43CE-836F-CB6D904432B0}" #comfunc global IRealTimeStylus3_get_MultiTouchEnabled 3 sptr #comfunc global IRealTimeStylus3_put_MultiTouchEnabled 4 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。