INPUTCONTEXT
typedef struct tagINPUTCONTEXT {
HWND hWnd;
BOOL fOpen;
POINT ptStatusWndPos;
POINT ptSoftKbdPos;
DWORD fdwConversion;
DWORD fdwSentence;
union {
LOGFONTA A;
LOGFONTW W;
} lfFont;
COMPOSITIONFORM cfCompForm;
CANDIDATEFORM cfCandForm[4];
HIMCC hCompStr;
HIMCC hCandInfo;
HIMCC hGuideLine
HIMCC hPrivate;
DWORD dwNumMsgBuf;
HIMCC hMsgBuf;
DWORD fdwInit
DWORD dwReserve[3];
} INPUTCONTEXT;
- hWnd
- Handle of window that uses the input context. If the input context is shared, this must be the handle of the active window and will be reset by ImmSetActiveContext.
- fOpen
- Present status of the opened or closed IME.
- ptStatusWndPos
- Position of the status window.
- ptSoftKbdPos
- Position of the soft keyboard.
- fdwConversion
- Conversion mode used by the IME composition engine.
- fdwSentence
- Sentence mode used by the IME composition engine.
- lfFont
- LOGFONT structure used by the IME user interface to draw the composition string.
- cfCompForm
- COMPOSITIONFORM structure used by the IME user interface to create the composition window.
- cfCandForm[4]
- CANDIDATEFORM structures used by the IME user interface to create the candidate windows. This IMC supports four candidate forms.
- hCompStr
- Memory handle that points to the COMPOSITIONSTR structure. This handle is available when there is the composition string.
- hCandInfo
- Handle of a memory block that contains the CANDIDATEINFO structure and CANDIDATELIST structures. This handle is available when there are the candidate strings.
- hGuideLine
- Handle of a memory block that contains the GUIDELINE structure. This handle is available when there is the guideline information.
- hPrivate
- Handle of a memory block used by IME for its private date area.
- dwNumMsgBuf
- Number of messages stored in hMsgBuf.
- hMsgBuf
- Handle of the memory block that stores the messages. The format of this memory block is [Message1] [wParam1] [lParam1] {[Message2] [wParam2] [lParam2]{...{...{...}}}}. All values are double words.
- fdwInit
- Initialize flag. When IME initializes the members of the INPUTCONTEXT structure, IME must set the bits of the member indicated by this flag. It can be a combination of the following values:
The bit of fdwInit |
Description |
INIT_STATUSWNDPOS |
Initialized ptStatusWndPos |
INIT_CONVERSION |
Initialized fdwConversion |
INIT_SENTENCE |
Initialized fdwSentence |
INIT_LOGFONT |
Initialized lfFont |
INIT_COMPFORM |
Initialized cfCompForm |
INIT_SOFTKBDPOS |
initialized ptSoftKbdPos |
- dwReserve[3]
- Reserved; must be zero.
When calling ImeToAsciiEx, IME can generate the messages into the lpdwTransKey buffer, but when IME needs generate the messages to the applications out of ImeToAsciiEx, IME can store the messages in hMsgBuf and call ImmGenerateMessage, which sends the messages in hMsgBuf to the application.