共用方式為


setFlags 函式 (recapis.h)

指定辨識器如何解譯筆跡,並判斷結果字串。

第一次處理筆跡之前,請先呼叫此函式。 因此,呼叫 Process 函式之前,請先呼叫 SetFlags 函式。

語法

HRESULT SetFlags(
  [in] HRECOCONTEXT hrc,
  [in] DWORD        dwFlags
);

參數

[in] hrc

辨識器內容的句柄。

[in] dwFlags

下表列出您可以設定的旗標,以指定辨識器如何解譯筆跡並判斷結果字串。 使用 OR 運算子 (|) 適當地合併旗標。

位旗標 意義
RECOFLAG_AUTOSPACE
辨識器會根據語言模型規則使用智慧間距。
RECOFLAG_COERCE
辨識器會根據您為內容指定的事實質強制產生結果。 例如,如果您指定電話號碼 factoid,且使用者輸入 「hello」 一字,辨識器可能會傳回隨機電話號碼或空字串。 如果您未指定此旗標,辨識器會傳回 「hello」 作為結果。
RECOFLAG_PREFIXOK
辨識器支持辨識預設或 (指定之事實質) 語言模型中定義之字串的任何前置部分。

例如,如果沒有這個旗標,使用者就會撰寫“handw”,而辨識器會傳回 (的建議,例如“hander” 或 “handed”) 存在於辨識器語彙中的單字。 使用旗標時,辨識器可能會傳回 「handw」 作為其中一個建議,因為它是辨識器語彙中存在之字組 「handwriting」 的有效前置詞。

平板電腦輸入面板會在大部分情況下設定此旗標,除非輸入範圍IS_DEFAULT (或输入范围) 或沒有使用者單字清單或正則表達式時。

當呼叫端傳入此旗標時,東亞字元的辨識器應該傳回E_INVALIDARG。

RECOFLAG_LINEMODE
辨識器不會分割行,但仍必須執行字元和單字分隔。 這與線條模式相同,不同之處在於沒有指南,而且所有筆跡都假設在單行中。 設定此旗標時,如果已設定,則會忽略指南。
RECOFLAG_SINGLESEG
停用多個分割。 根據預設,辨識器會傳回多個分割, (筆跡的替代) 。

例如,如果您將「一起」撰寫為個別筆劃,辨識器可能會將筆跡分割為「以取得她」、「要收集」或「一起」。 如果您在查詢替代專案時不需要多個筆跡分割,請設定此旗標。 這可改善效能並減少記憶體使用量。

RECOFLAG_WORDMODE
辨識器會將筆跡視為單字。 例如,如果內容包含「要取得她」,辨識器就會傳回「一起」。

傳回值

此函式可以傳回其中一個值。

HRESULT 值 描述
S_OK
成功。
E_INVALIDARG
旗標無效。
E_NOTIMPL
辨識器不支援此函式。
E_OUTOFMEMORY
無法配置記憶體來完成作業。
E_FAIL
發生未指定的錯誤。
E_POINTER
內容無效,或其中一個參數是無效的指標。

備註

在 Microsoft Windows XP 平板電腦版本開發工具包 1.7 之前,平板電腦輸入面板會執行智慧間距。 從平板電腦 SDK 1.7 開始,輸入面板會繼續產生具有初步間距建議的結果。 不過,平板電腦輸入面板的間距結果可能會因辨識器的建議而變更 (結果) 。 辨識器可以使用文字內容資訊 (根據輸入面板) 及其內部語言模型規則進行的 SetTextContext 呼叫來執行此動作。

輸入面板可以使用RECOFLAG_AUTOSPACE旗標集呼叫此函式,判斷辨識器是否能夠執行自動間距。 如果辨識器不支援自動間距,則會傳回E_INVALIDARG。

注意SetFlags 函式僅支援行模式。 不支援 Boxed 模式、免費模式和單行模式。
 

規格需求

需求
最低支援的用戶端 Windows XP 平板電腦版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 recapis.h
Dll inkobjcore.dll

另請參閱

SetFactoid 函式

SetTextContext 函式