Win32 API 日本語リファレンス
ホームUI.TabletPC › IRealTimeStylus3

IRealTimeStylus3

COM
IIDd70230a3-6986-4051-b57a-1cf69f4d9db5継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IRealTimeStylus3 インターフェイスは、リアルタイム スタイラスでマルチタッチを有効にします。

メソッド 2

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT get_MultiTouchEnabled(BOOL* pfEnable)

IRealTimeStylus3 オブジェクトでマルチタッチ入力が有効になっているかどうかを示します。(Get)

pfEnableBOOL*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;
    }    
vtbl 4 HRESULT put_MultiTouchEnabled(BOOL fEnable)

IRealTimeStylus3 オブジェクトでマルチタッチ入力が有効になっているかどうかを示します。(Put)

fEnableBOOLinマルチタッチ入力を有効にするかどうかを指定する。

解説(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)

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 方式にも切替可。