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

IInkLineInfo

COM
IID9c1c5ad6-f22f-4de4-b453-a2cc482e7c33継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IInkLineInfo インターフェースは、テキストインクオブジェクト (tInk) の表示プロパティおよび認識結果リストへのアクセスを提供します。

メソッド 6

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

vtbl 3 HRESULT SetFormat(INKMETRIC* pim)

テキストインクオブジェクト (tInk) に設定する表示プロパティを指定します。

pimINKMETRIC*inテキストインクオブジェクトに設定する表示プロパティを格納した INKMETRIC 構造体へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
pim パラメーターが NULL です。
E_OUTOFMEMORY
操作を完了できませんでした。表示プロパティは変更されません。

解説(Remarks)

pim パラメーターに IMF_FONT_SELECTED_IN_HDC フラグが設定されている場合は、デバイスコンテキストのプロパティがインク (手書き) に適用されます。設定されていない場合は、テキストインクオブジェクトの INKMETRIC の設定が適用されます。

vtbl 4 HRESULT GetFormat(INKMETRIC* pim)

テキストインクオブジェクト (tInk) に現在設定されている表示プロパティを返します。

pimINKMETRIC*inテキストインクオブジェクトの表示プロパティを格納する INKMETRIC 構造体へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
pim パラメーターが NULL です。
vtbl 5 HRESULT GetInkExtent(INKMETRIC* pim, DWORD* pnWidth)

テキストインクオブジェクト (tInk) に設定する表示プロパティを指定し、テキストインクオブジェクトの幅を HIMETRIC 単位で取得します。

pimINKMETRIC*inテキストインクオブジェクトに設定する表示プロパティを格納した INKMETRIC 構造体へのポインター、または NULL
pnWidthDWORD*inテキストインクオブジェクトの幅 (HIMETRIC 単位)。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
成功しました。
E_POINTER
pnWidth パラメーターが NULL です。
E_OUTOFMEMORY
操作を完了できませんでした。表示プロパティは変更されません。

解説(Remarks)

pim パラメーターが NULL の場合、表示プロパティは変更されず、既存のプロパティを使用してテキストインクオブジェクトの範囲が計算されます。NULL でない場合は、表示プロパティが更新され、新しいプロパティに基づいて範囲が計算されます。

pim パラメーターに IMF_FONT_SELECTED_IN_HDC フラグが設定されている場合は、デバイスコンテキストのプロパティがインク (手書き) に適用されます。設定されていない場合は、テキストインクオブジェクトの INKMETRIC の設定が適用されます。

vtbl 6 HRESULT GetCandidate(DWORD nCandidateNum, LPWSTR pwcRecogWord, DWORD* pcwcRecogWord, DWORD dwFlags)

認識結果リストから 1 つの認識候補を返します。

nCandidateNumDWORDin取得する候補リストエントリの 0 から始まるインデックス。
pwcRecogWordLPWSTRin選択された認識候補を格納するバッファー。pwcRecogWordNULL の場合、このメソッドは認識候補の単語を取得しません。
pcwcRecogWordDWORD*inpwcRecogWord バッファーの長さを Unicode 文字数で渡し、バッファーにコピーされた Unicode 文字数を返します。
dwFlagsDWORDin使用されません。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
メソッドは成功しました。
E_FAIL
nCandidateNum インデックスが認識候補の数を超えています。
ERROR_MORE_DATA
pwcRecogWord バッファーが認識候補を格納するのに十分な大きさではありません。

解説(Remarks)

pwcRecogWord パラメーターが null の場合、このメソッドは認識候補の単語を取得せず、pwcRecogWord に認識候補の文字数のみを設定します。

pwcRecogWord バッファーが認識候補を格納するのに十分な大きさではない場合、pwcRecogWord バッファーには認識候補の先頭から pwcRecogWord の文字数分が格納されます。

vtbl 7 HRESULT SetCandidate(DWORD nCandidateNum, LPWSTR strRecogWord)

認識結果リスト内の 1 つの認識候補を、既存の候補を置き換えるか、リストに候補を追加することによって更新します。

nCandidateNumDWORDin設定する候補リストエントリの 0 から始まるインデックス。
strRecogWordLPWSTRin新しい候補テキストへのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
メソッドは成功しました。
E_FAIL
nCandidateNum インデックスが範囲外です。
E_OUTOFMEMORY
操作を完了できませんでした。認識結果リストは変更されません。

解説(Remarks)

candidate リストは、現在のリストの末尾に一度に 1 つのエントリだけ拡張できます。たとえば、テキストインクオブジェクト (tInk) が現在 10 個の認識結果を持つ場合、nCandidateNum パラメーターに 10 を指定すると、そのテキストインクオブジェクトの認識結果リストに新しい結果が追加されます。

vtbl 8 HRESULT Recognize()

予約済みです。(IInkLineInfo.Recognize)

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
E_NOTIMPL
このメソッドは実装されていません。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IInkLineInfo "{9C1C5AD6-F22F-4DE4-B453-A2CC482E7C33}"
#usecom global IInkLineInfo IID_IInkLineInfo "{}"
#comfunc global IInkLineInfo_SetFormat     3 var
#comfunc global IInkLineInfo_GetFormat     4 var
#comfunc global IInkLineInfo_GetInkExtent  5 var,var
#comfunc global IInkLineInfo_GetCandidate  6 int,wstr,var,int
#comfunc global IInkLineInfo_SetCandidate  7 int,wstr
#comfunc global IInkLineInfo_Recognize     8
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。