Share via


InkEdit 인스턴스화

이 항목에서는 InkEdit 컨트롤을 인스턴스화할 수 있는 다양한 방법을 설명합니다.

Visual Basic .NET 및 C #

Microsoft Visual Basic .NET 또는 C#으로 작업하는 경우 Visual Studio의 도구 상자에서 컨트롤을 표시할 폼 또는 페이지로 InkEdit 컨트롤을 끌어옵니다.

Win32/C++

InkEdit 컨트롤은 리치 편집 4.5 Win32 OLE 포함 가능 컨트롤의 슈퍼 클래스입니다.

Win32 애플리케이션은 CreateWindow()를 호출하고 INKEDIT를 창 클래스로 전달하여 InkEdit 컨트롤을 인스턴스화합니다. INKEDIT는 InkEd.h에 정의되어 있습니다. 컨트롤을 만든 후 메시지와 함께 컨트롤에 "통신"할 수 있습니다. 리치 편집 메시지(EM_*)는 InkEdit에서 서식 있는 편집으로 변경되지 않고 전달됩니다. 모든 기존 리치 편집 기능을 사용할 수 있습니다.

InkEdit 컨트롤을 만들려면 CreateWindow() 함수를 호출하고 InkEdit 창 클래스를 지정합니다. LoadLibrary()를 사용하여 InkEd.dll 등록합니다. window 클래스 매개 변수에 대해 정의된 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 스타일이 추가됩니다. 기본 제공 수정 지원도 사용하지 않도록 설정합니다.

프로젝트에 잉크 컨트롤 추가