实例化 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 消息 (EM_*) 未更改地从 InkEdit 传递到 Rich Edit;所有现有的 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 不同,在创建 InkEdit 控件之前,必须确保调用 CoInitialize () 。 应用程序关闭时调用 CoUninitialize () 。 调用 CoUninitialize () 后,必须调用 FreeLibrary (s_hlib) 以递减InkEdit.dll文件的引用计数。
如果使用 ES_NOIME 窗口样式,则内置更正支持不可用。 如果未指定父窗口,则会将控件创建为顶级窗口,并添加WS_SYSMENU样式;这也禁用了内置的更正支持。
相关主题