Moderator: roytam
katayama_hirofumi_mz wrote:IMEについて詳しく知りたい人はこれを見てください:
http://www1.axfc.net/uploader/Sc/so/116978.zip
static PKBL UserLoadDllAndCreateKbl(DWORD LocaleId)
{
...
/* Microsoft Office expects this value to be something specific
* for Japanese and Korean Windows with an IME the value is 0xe001
* We should probably check to see if an IME exists and if so then
* set this word properly.
*/
langid = PRIMARYLANGID(LANGIDFROMLCID(LocaleId));
hKl = LocaleId;
if (langid == LANG_CHINESE || langid == LANG_JAPANESE || langid == LANG_KOREAN)
hKl |= 0xe001 << 16; /* FIXME */
else hKl |= hKl << 16;
...
UINT WINAPI ImmGetVirtualKey(HWND);
#if (WINVER >= 0x040A)
BOOL WINAPI ImmAssociateContextEx(HWND, HIMC, DWORD);
#endif /* (WINVER >= 0x040A) */
#define IME_HOTKEY_PRIVATE_FIRST 0x200
#define IME_ITHOTKEY_RECONVERTSTRING 0x203
#define IME_HOTKEY_PRIVATE_LAST 0x21F
#define IMEVER_0310 0x0003000A
#define IMEVER_0400 0x00040000
#define SCS_CAP_SETRECONVERTSTRING 0x00000004
#define SCS_SETRECONVERTSTRING 0x00010000
#define SCS_QUERYRECONVERTSTRING 0x00020000
#define IME_SMODE_CONVERSATION 0x0010
#define IME_CAND_UNKNOWN 0x0000
#define IME_CAND_READ 0x0001
#define IME_CAND_CODE 0x0002
#define IME_CAND_MEANING 0x0003
#define IME_CAND_RADICAL 0x0004
#define IME_CAND_STROKE 0x0005
#if (WINVER >= 0x040A)
#define IMR_COMPOSITIONWINDOW 0x0001
#define IMR_CANDIDATEWINDOW 0x0002
#define IMR_COMPOSITIONFONT 0x0003
#define IMR_CONFIRMRECONVERTSTRING 0x0005
#define IMR_DOCUMENTFEED 0x0007
#endif
#define IME_ESC_PRIVATE_HOTKEY 0x100a
#define IME_ESC_GETHELPFILENAME 0x100b
#define SOFTKEYBOARD_TYPE_T1 0x0001
#define SOFTKEYBOARD_TYPE_C1 0x0002
Users browsing this forum: No registered users and 1 guest