IInkLineInfo
COM公式ドキュメント
IInkLineInfo インターフェースは、テキストインクオブジェクト (tInk) の表示プロパティおよび認識結果リストへのアクセスを提供します。
メソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
テキストインクオブジェクト (tInk) に設定する表示プロパティを指定します。
| pim | INKMETRIC* | in | テキストインクオブジェクトに設定する表示プロパティを格納した INKMETRIC 構造体へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| pim パラメーターが NULL です。 | |
| 操作を完了できませんでした。表示プロパティは変更されません。 |
解説(Remarks)
pim パラメーターに IMF_FONT_SELECTED_IN_HDC フラグが設定されている場合は、デバイスコンテキストのプロパティがインク (手書き) に適用されます。設定されていない場合は、テキストインクオブジェクトの INKMETRIC の設定が適用されます。
テキストインクオブジェクト (tInk) に現在設定されている表示プロパティを返します。
| pim | INKMETRIC* | in | テキストインクオブジェクトの表示プロパティを格納する INKMETRIC 構造体へのポインター。 |
戻り値
テキストインクオブジェクト (tInk) に設定する表示プロパティを指定し、テキストインクオブジェクトの幅を HIMETRIC 単位で取得します。
| pim | INKMETRIC* | in | テキストインクオブジェクトに設定する表示プロパティを格納した INKMETRIC 構造体へのポインター、または NULL。 |
| pnWidth | DWORD* | in | テキストインクオブジェクトの幅 (HIMETRIC 単位)。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| pnWidth パラメーターが NULL です。 | |
| 操作を完了できませんでした。表示プロパティは変更されません。 |
解説(Remarks)
pim パラメーターが NULL の場合、表示プロパティは変更されず、既存のプロパティを使用してテキストインクオブジェクトの範囲が計算されます。NULL でない場合は、表示プロパティが更新され、新しいプロパティに基づいて範囲が計算されます。
pim パラメーターに IMF_FONT_SELECTED_IN_HDC フラグが設定されている場合は、デバイスコンテキストのプロパティがインク (手書き) に適用されます。設定されていない場合は、テキストインクオブジェクトの INKMETRIC の設定が適用されます。
認識結果リストから 1 つの認識候補を返します。
| nCandidateNum | DWORD | in | 取得する候補リストエントリの 0 から始まるインデックス。 |
| pwcRecogWord | LPWSTR | in | 選択された認識候補を格納するバッファー。pwcRecogWord が NULL の場合、このメソッドは認識候補の単語を取得しません。 |
| pcwcRecogWord | DWORD* | in | pwcRecogWord バッファーの長さを Unicode 文字数で渡し、バッファーにコピーされた Unicode 文字数を返します。 |
| dwFlags | DWORD | in | 使用されません。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| nCandidateNum インデックスが認識候補の数を超えています。 | |
| pwcRecogWord バッファーが認識候補を格納するのに十分な大きさではありません。 |
解説(Remarks)
pwcRecogWord パラメーターが null の場合、このメソッドは認識候補の単語を取得せず、pwcRecogWord に認識候補の文字数のみを設定します。
pwcRecogWord バッファーが認識候補を格納するのに十分な大きさではない場合、pwcRecogWord バッファーには認識候補の先頭から pwcRecogWord の文字数分が格納されます。
認識結果リスト内の 1 つの認識候補を、既存の候補を置き換えるか、リストに候補を追加することによって更新します。
| nCandidateNum | DWORD | in | 設定する候補リストエントリの 0 から始まるインデックス。 |
| strRecogWord | LPWSTR | in | 新しい候補テキストへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| nCandidateNum インデックスが範囲外です。 | |
| 操作を完了できませんでした。認識結果リストは変更されません。 |
解説(Remarks)
candidate リストは、現在のリストの末尾に一度に 1 つのエントリだけ拡張できます。たとえば、テキストインクオブジェクト (tInk) が現在 10 個の認識結果を持つ場合、nCandidateNum パラメーターに 10 を指定すると、そのテキストインクオブジェクトの認識結果リストに新しい結果が追加されます。
予約済みです。(IInkLineInfo.Recognize)
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| このメソッドは実装されていません。 |
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 方式にも切替可。#define global IID_IInkLineInfo "{9C1C5AD6-F22F-4DE4-B453-A2CC482E7C33}" #usecom global IInkLineInfo IID_IInkLineInfo "{}" #comfunc global IInkLineInfo_SetFormat 3 sptr #comfunc global IInkLineInfo_GetFormat 4 sptr #comfunc global IInkLineInfo_GetInkExtent 5 sptr,sptr #comfunc global IInkLineInfo_GetCandidate 6 int,wstr,sptr,int #comfunc global IInkLineInfo_SetCandidate 7 int,wstr #comfunc global IInkLineInfo_Recognize 8 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。