共用方式為


SetFlags 函式 (recapis.h)

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

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

語法

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

參數

[in] hrc

辨識器內容的句柄。

[in] dwFlags

下表列出您可以設定的旗標,以指定辨識器如何解譯筆跡並決定結果字串。 使用 OR 運算子 (|) 視需要組合旗標。

位旗標 Meaning
RECOFLAG_AUTOSPACE
辨識器會根據語言模型規則使用智慧型間距。
RECOFLAG_COERCE
辨識器會根據您為內容指定的事實來強制結果。 例如,如果您指定電話號碼事實,而使用者輸入單字 “hello”,辨識器可能會傳回隨機電話號碼或空字串。 如果您未指定此旗標,辨識器會傳回 “hello” 作為結果。
RECOFLAG_PREFIXOK
辨識器支援辨識預設或指定的 (事實) 語言模型中定義的字串的任何字首部分。

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

平板電腦輸入面板在大部分情況下都會設定此旗標,除非輸入範圍IS_DEFAULT (或沒有輸入範圍) ,或沒有使用者單字清單或規則運算式。

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

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

例如,如果您將 “together” 寫成個別筆劃,辨識器可能會將筆跡分割為 “to get her”、“to gather” 或 “together”。 如果您在查詢替代時不需要筆跡的多個分割,請設定此旗標。 這提高了效能並減少了記憶體使用量。

RECOFLAG_WORDMODE
辨識器會將筆跡視為單一單字。 例如,如果內容包含 “to get her”,則辨識器會傳回 “together”。

返回值

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

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

備註

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

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

便條SetFlags 函式中僅支援行模式。 不支援盒裝模式、自由模式和單行模式。
 

需求

Requirement 價值觀
最低支援的用戶端 Windows XP Tablet PC 版 [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 不支援
目標平臺 窗戶
Header recapis.h
Library inkobjcore.lib
DLL inkobjcore.dll

另請參閱

SetFactoid 函式

SetTextContext 函式