共用方式為


使用文字筆跡物件

為了協助應用程式中的筆跡支援,有兩個物件可以內嵌,而且可由任何 OLE 容器支援、文字筆跡物件 (tInk) ,以及草圖筆跡物件 (Ink) 。

文字筆跡物件是代表預期形成單字的筆跡的 OLE 物件。 文字筆跡物件可讓手寫筆跡從替代專案清單中選擇,以轉換成文字。 文字筆跡物件的色彩和大小可以透過程式設計方式設定,而且可以根據物件周圍的文字屬性。 文字筆跡物件的目的是要包含單一單字。

文字筆跡物件支援內嵌和剪貼簿支援所需的一組標準 OLE 介面。 IPersistStream介面會以筆跡序列化格式讀取和寫入資料流程, (ISF) 。 文字筆跡物件會提供 IInkLineInfo 介面來存取其顯示內容和辨識結果清單。

文字筆跡物件可用於應用程式之間的互通性,方法是將它放在剪貼簿上的 OLE 物件位置、將它內嵌在 RTF 中,或將它保存在 ISF 資料流程中。

文字筆跡物件可以透過下列方式產生。

  • InkEdit控制項會使用文字筆跡物件。 InkEdit 控制項的功能是標準 RichEdit 控制項功能的超集合。 筆跡會以文字筆跡物件的形式插入 InkEdit 控制項的 RTF 資料流程中。
  • 當應用程式將 InkStrokesInkEdit 物件複製到剪貼簿上,且已設定 InkClipboardFormats 列舉 格式時,OLE 物件剪貼簿位置會包含文字筆跡 OLE 物件。
  • 平板電腦輸入面板可以產生文字筆跡物件。

例如,您的應用程式可以辨識手寫,並將辨識結果新增至筆劃。 然後,如果您將筆劃複製並貼到 Microsoft Word做為文字筆跡物件,該字的替代專案可在 Word 2003 和更新版本中使用。

若要成功包含文字筆跡物件,應用程式必須實作内嵌物件的 OLE 容器支援。 然後,若要讓容器完全支援文字筆跡,您必須建立:

  • [尋找和取代] 的應用程式修改。 這些物件必須詢問類型,而不是略過搜尋中的内嵌物件。 如果是文字筆跡物件,則必須具現化並查詢其對應的文字。
  • 對選取行為的修改。 文字筆跡物件的選取不應該與調整大小控點一起出現。 應該以在檔中選取文字的相同方式加以選取。 物件的選取程式碼必須偵測類型是否為文字筆跡,並適當地顯示選取範圍。
  • 使用環境屬性。 需要將字型大小、色彩和粗體格式等環境屬性傳輸至文字筆跡物件。 這些屬性的應用程式會變更手寫筆跡的寬度,因此呼叫 IInkLineInfo::GetInkExtentIOleObject::GetExtent 方法需要大小更新。

本節內容