Creazione di un'istanza di InkEdit

Questo argomento descrive i vari modi in cui è possibile creare un'istanza di un controllo InkEdit .

Visual Basic .NET e C #

Se si usa Microsoft Visual Basic .NET o C#, trascinare il controllo InkEdit dalla casella degli strumenti in Visual Studio nella maschera o nella pagina in cui si vuole che venga visualizzato il controllo.

Win32/C++

Il controllo InkEdit è una superclasse del controllo Ole incorporabile Rich Edit 4.5 Win32.

Le applicazioni Win32 creano un'istanza del controllo InkEdit chiamando CreateWindow() e passando INKEDIT come classe finestra. INKEDIT è definito in InkEd.h. Dopo aver creato il controllo, è possibile "parlare" con i messaggi. I messaggi di modifica avanzati (EM_*) vengono passati da InkEdit a Rich Edit invariati; tutte le funzionalità di modifica avanzate esistenti sono disponibili.

Per creare un controllo InkEdit, chiamare la funzione CreateWindow() specificando la classe finestra InkEdit. Usare LoadLibrary() per registrare InkEd.dll. Specificare la costante INKEDIT_CLASS definita per il parametro della classe finestra e usare gli stili della finestra come specificato negli esempi seguenti.

Creazione di un'istanza di un controllo InkEdit multilinea

//...
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);

Creazione di un'istanza di un controllo 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);

Nota

A differenza di RichEdit, è necessario chiamare CoInitialize() prima di creare il controllo InkEdit . Chiamare CoUninitialize() quando l'applicazione viene arrestata. Dopo aver chiamato CoUninitialize(), è necessario chiamare FreeLibrary(s_hlib) per decrerere il conteggio dei riferimenti nel file di InkEdit.dll.

 

Se si usa lo stile della finestra ES_NOIME , il supporto di correzione predefinito non è disponibile. Se non si specifica una finestra padre, il controllo viene creato come finestra di primo livello e viene aggiunto lo stile WS_SYSMENU; ciò disabilita anche il supporto di correzione predefinito.

Aggiunta di controlli penna a un Project