筆跡控制項
平板電腦平臺提供兩個控制項 InkEdit 和 InkPicture,可讓您輕鬆地將筆跡和手寫辨識新增至平板電腦應用程式。 InkEdit 控制項具有 Managed、 ActiveX 和 Win32 版本,而 InkPicture 則只有 Managed InkPicture 和 ActiveX 版本。
控制項之間的主要差異在於資料的儲存方式。 InkEdit控制項預設會將筆跡儲存為文字,而InkPicture 則會將筆跡儲存為筆跡。
InkEdit控制項適用于透過手寫辨識輸入文字。 InkPicture 適用于注釋 (例如,標記簡報投影片或其他圖片) 。
在 Managed 程式碼中,在與表單主執行緒相同的執行緒中建立筆跡控制項。 如果在不同的執行緒中建立 InkEdit 或 InkPicture 控制項,則您的應用程式可能無法正確回應。
在建立筆跡控制項之前,您應該明確地將執行緒模型變更為單一執行緒 Apartment (STA) 。 這會導致在主執行緒上建立 控制項。 您可以使用下列 Managed C++ 程式碼來明確設定執行緒模型。
Thread::get_CurrentThread()->set_ApartmentState(ApartmentState::STA);
您可以使用下列程式碼在 C# 中執行相同的動作。
System.Threading.Thread.CurrentThread.ApartmentState = System.Threading.ApartmentState.STA;
在 Managed 程式碼中,若要避免記憶體流失,您必須在任何已附加事件處理常式的平板電腦控制項上明確呼叫 Dispose 方法,再讓控制項超出範圍。
下列各節說明筆跡控制項,以及在應用程式中使用筆跡控制項: