共用方式為


具現化 InkEdit

本主題描述您可以具現化 InkEdit 控制項的各種方式。

Visual Basic .NET 和 C#

如果您使用 Microsoft Visual Basic .NET 或 C#,請將 InkEdit 控制項從 Visual Studio 中的 [工具箱] 拖曳至您想要顯示控制項的表單或頁面。

Win32/C++

InkEdit控制項是 Rich Edit 4.5 Win32 OLE 可內嵌控制項的超類別。

Win32 應用程式藉由呼叫CreateWindow () 並將 INKEDIT 傳遞為視窗類別來具現化InkEdit控制項。 INKEDIT 定義于 InkEd.h 中。 建立控制項之後,您可以使用訊息來「與控制項交談」。 Rich Edit messages (EM_*) 會從 InkEdit 傳遞至 Rich Edit unaltered;所有現有的 Rich Edit 功能都可供使用。

若要建立 InkEdit 控制項,請呼叫 CreateWindow () 函式,並指定 InkEdit 視窗類別。 使用 LoadLibrary () 註冊InkEd.dll。 指定視窗類別參數INKEDIT_CLASS定義的常數,並使用下列範例中指定的視窗樣式。

具現化多行 InkEdit 控制項

//...
HMODULE s_hlib;    
s_hlib= LoadLibrary("InkEd.dll");
//...
m_hwndInkEdit = CreateWindowW(INKEDIT_CLASS, NULL,
WS_CHILD|WS_VISIBLE|WS_BORDER|ES_MULTILINE,
rt.left, rt.top, rt.right, rt.bottom,
m_hWnd, NULL, hInst, NULL);

具現化Single-Line InkEdit 控制項

//...
HMODULE s_hlib;    
s_hlib= LoadLibrary("InkEd.dll");
//...
m_hwndInkEdit = CreateWindowW(INKEDIT_CLASS, NULL,
WS_CHILD|WS_VISIBLE|WS_BORDER,
rt.left, rt.top, rt.right, rt.bottom,
m_hWnd, NULL, hInst, NULL);

注意

不同于 RichEdit,您必須先呼叫 CoInitialize () ,再建立 InkEdit 控制項。 當您的應用程式關閉時,呼叫 CoUninitialize () 。 呼叫 CoUninitialize () 之後,您必須呼叫 FreeLibrary (s_hlib) ,以遞減InkEdit.dll檔案上的參考計數。

 

如果您使用 ES_NOIME 視窗樣式,則無法使用內建更正支援。 如果您未指定父視窗,則會將控制項建立為最上層視窗,並新增WS_SYSMENU樣式;這也會停用內建修正支援。

將筆跡控制項新增至專案