home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 August / Chip_2000-08_cd1.bin / sharewar / dvcpp / _SETUP.5 / Group3 / imm.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-03-08  |  12.9 KB  |  364 lines

  1. #ifndef _IMM_H
  2. #define _IMM_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define WM_CONVERTREQUESTEX 0x108
  7. #define WM_IME_STARTCOMPOSITION 0x10D
  8. #define WM_IME_ENDCOMPOSITION 0x10E
  9. #define WM_IME_COMPOSITION 0x10F
  10. #define WM_IME_KEYLAST 0x10F
  11. #define WM_IME_SETCONTEXT 0x281
  12. #define WM_IME_NOTIFY 0x282
  13. #define WM_IME_CONTROL 0x283
  14. #define WM_IME_COMPOSITIONFULL 0x284
  15. #define WM_IME_SELECT 0x285
  16. #define WM_IME_CHAR 0x286
  17. #define WM_IME_KEYDOWN 0x290
  18. #define WM_IME_KEYUP 0x291
  19. #define IMC_GETCANDIDATEPOS 7
  20. #define IMC_SETCANDIDATEPOS 8
  21. #define IMC_GETCOMPOSITIONFONT 9
  22. #define IMC_SETCOMPOSITIONFONT 10
  23. #define IMC_GETCOMPOSITIONWINDOW 11
  24. #define IMC_SETCOMPOSITIONWINDOW 12
  25. #define IMC_GETSTATUSWINDOWPOS 15
  26. #define IMC_SETSTATUSWINDOWPOS 16
  27. #define IMC_CLOSESTATUSWINDOW 0x21
  28. #define IMC_OPENSTATUSWINDOW 0x22
  29. #define IMN_CLOSESTATUSWINDOW 1
  30. #define IMN_OPENSTATUSWINDOW 2
  31. #define IMN_CHANGECANDIDATE 3
  32. #define IMN_CLOSECANDIDATE 4
  33. #define IMN_OPENCANDIDATE 5
  34. #define IMN_SETCONVERSIONMODE 6
  35. #define IMN_SETSENTENCEMODE 7
  36. #define IMN_SETOPENSTATUS 8
  37. #define IMN_SETCANDIDATEPOS 9
  38. #define IMN_SETCOMPOSITIONFONT 10
  39. #define IMN_SETCOMPOSITIONWINDOW 11
  40. #define IMN_SETSTATUSWINDOWPOS 12
  41. #define IMN_GUIDELINE 13
  42. #define IMN_PRIVATE 14
  43. #define NI_OPENCANDIDATE 16
  44. #define NI_CLOSECANDIDATE 17
  45. #define NI_SELECTCANDIDATESTR 18
  46. #define NI_CHANGECANDIDATELIST 19
  47. #define NI_FINALIZECONVERSIONRESULT 20
  48. #define NI_COMPOSITIONSTR 21
  49. #define NI_SETCANDIDATE_PAGESTART 22
  50. #define NI_SETCANDIDATE_PAGESIZE 23
  51. #define ISC_SHOWUICANDIDATEWINDOW 1
  52. #define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000
  53. #define ISC_SHOWUIGUIDELINE 0x40000000
  54. #define ISC_SHOWUIALLCANDIDATEWINDOW 15
  55. #define ISC_SHOWUIALL 0xC000000F
  56. #define CPS_COMPLETE 1
  57. #define CPS_CONVERT 2
  58. #define CPS_REVERT 3
  59. #define CPS_CANCEL 4
  60. #define IME_CHOTKEY_IME_NONIME_TOGGLE 16
  61. #define IME_CHOTKEY_SHAPE_TOGGLE 17
  62. #define IME_CHOTKEY_SYMBOL_TOGGLE 18
  63. #define IME_JHOTKEY_CLOSE_OPEN 0x30
  64. #define IME_KHOTKEY_SHAPE_TOGGLE 0x50
  65. #define IME_KHOTKEY_HANJACONVERT 0x51
  66. #define IME_KHOTKEY_ENGLISH 0x52
  67. #define IME_THOTKEY_IME_NONIME_TOGGLE 0x70
  68. #define IME_THOTKEY_SHAPE_TOGGLE 0x71
  69. #define IME_THOTKEY_SYMBOL_TOGGLE 0x72
  70. #define IME_HOTKEY_DSWITCH_FIRST 256
  71. #define IME_HOTKEY_DSWITCH_LAST 0x11F
  72. #define IME_ITHOTKEY_RESEND_RESULTSTR 512
  73. #define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513
  74. #define IME_ITHOTKEY_UISTYLE_TOGGLE 514
  75. #define GCS_COMPREADSTR 1
  76. #define GCS_COMPREADATTR 2
  77. #define GCS_COMPREADCLAUSE 4
  78. #define GCS_COMPSTR 8
  79. #define GCS_COMPATTR 16
  80. #define GCS_COMPCLAUSE 32
  81. #define GCS_CURSORPOS 128
  82. #define GCS_DELTASTART 256
  83. #define GCS_RESULTREADSTR 512
  84. #define GCS_RESULTREADCLAUSE 1024
  85. #define GCS_RESULTSTR 2048
  86. #define GCS_RESULTCLAUSE 4096
  87. #define CS_INSERTCHAR 0x2000
  88. #define CS_NOMOVECARET 0x4000
  89. #define IMEVER_0310 0x3000A
  90. #define IMEVER_0400 0x40000
  91. #define IME_PROP_AT_CARET 0x10000
  92. #define IME_PROP_SPECIAL_UI 0x20000
  93. #define IME_PROP_CANDLIST_START_FROM_1 0x40000
  94. #define IME_PROP_UNICODE 0x80000
  95. #define UI_CAP_2700 1
  96. #define UI_CAP_ROT90 2
  97. #define UI_CAP_ROTANY 4
  98. #define SCS_CAP_COMPSTR 1
  99. #define SCS_CAP_MAKEREAD 2
  100. #define SELECT_CAP_CONVERSION 1
  101. #define SELECT_CAP_SENTENCE 2
  102. #define GGL_LEVEL 1
  103. #define GGL_INDEX 2
  104. #define GGL_STRING 3
  105. #define GGL_PRIVATE 4
  106. #define GL_LEVEL_NOGUIDELINE 0
  107. #define GL_LEVEL_FATAL 1
  108. #define GL_LEVEL_ERROR 2
  109. #define GL_LEVEL_WARNING 3
  110. #define GL_LEVEL_INFORMATION 4
  111. #define GL_ID_UNKNOWN 0
  112. #define GL_ID_NOMODULE 1
  113. #define GL_ID_NODICTIONARY 16
  114. #define GL_ID_CANNOTSAVE 17
  115. #define GL_ID_NOCONVERT 32
  116. #define GL_ID_TYPINGERROR 33
  117. #define GL_ID_TOOMANYSTROKE 34
  118. #define GL_ID_READINGCONFLICT 35
  119. #define GL_ID_INPUTREADING 36
  120. #define GL_ID_INPUTRADICAL 37
  121. #define GL_ID_INPUTCODE 38
  122. #define GL_ID_INPUTSYMBOL 39
  123. #define GL_ID_CHOOSECANDIDATE 40
  124. #define GL_ID_REVERSECONVERSION 41
  125. #define GL_ID_PRIVATE_FIRST 0x8000
  126. #define GL_ID_PRIVATE_LAST 0xFFFF
  127. #define IGP_GETIMEVERSION (DWORD)(-4)
  128. #define IGP_PROPERTY 4
  129. #define IGP_CONVERSION 8
  130. #define IGP_SENTENCE 12
  131. #define IGP_UI 16
  132. #define IGP_SETCOMPSTR 0x14
  133. #define IGP_SELECT 0x18
  134. #define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR)
  135. #define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR)
  136. #define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
  137. #define ATTR_INPUT 0
  138. #define ATTR_TARGET_CONVERTED 1
  139. #define ATTR_CONVERTED 2
  140. #define ATTR_TARGET_NOTCONVERTED 3
  141. #define ATTR_INPUT_ERROR 4
  142. #define CFS_DEFAULT 0
  143. #define CFS_RECT 1
  144. #define CFS_POINT 2
  145. #define CFS_SCREEN 4
  146. #define CFS_FORCE_POSITION 32
  147. #define CFS_CANDIDATEPOS 64
  148. #define CFS_EXCLUDE 128
  149. #define GCL_CONVERSION 1
  150. #define GCL_REVERSECONVERSION 2
  151. #define GCL_REVERSE_LENGTH 3
  152. #define IME_CMODE_ALPHANUMERIC 0
  153. #define IME_CMODE_NATIVE 1
  154. #define IME_CMODE_CHINESE IME_CMODE_NATIVE
  155. #define IME_CMODE_HANGEUL IME_CMODE_NATIVE
  156. #define IME_CMODE_JAPANESE IME_CMODE_NATIVE
  157. #define IME_CMODE_KATAKANA 2
  158. #define IME_CMODE_LANGUAGE 3
  159. #define IME_CMODE_FULLSHAPE 8
  160. #define IME_CMODE_ROMAN 16
  161. #define IME_CMODE_CHARCODE 32
  162. #define IME_CMODE_HANJACONVERT 64
  163. #define IME_CMODE_SOFTKBD 128
  164. #define IME_CMODE_NOCONVERSION 256
  165. #define IME_CMODE_EUDC 512
  166. #define IME_CMODE_SYMBOL 1024
  167. #define IME_SMODE_NONE 0
  168. #define IME_SMODE_PLAURALCLAUSE 1
  169. #define IME_SMODE_SINGLECONVERT 2
  170. #define IME_SMODE_AUTOMATIC 4
  171. #define IME_SMODE_PHRASEPREDICT 8
  172. #define IME_CAND_UNKNOWN 0
  173. #define IME_CAND_READ 1
  174. #define IME_CAND_CODE 2
  175. #define IME_CAND_MEANING 3
  176. #define IME_CAND_RADICAL 4
  177. #define IME_CAND_STROKE 5
  178. #define IMM_ERROR_NODATA (-1)
  179. #define IMM_ERROR_GENERAL (-2)
  180. #define IME_CONFIG_GENERAL 1
  181. #define IME_CONFIG_REGISTERWORD 2
  182. #define IME_CONFIG_SELECTDICTIONARY 3
  183. #define IME_ESC_QUERY_SUPPORT 3
  184. #define IME_ESC_RESERVED_FIRST 4
  185. #define IME_ESC_RESERVED_LAST 0x7FF
  186. #define IME_ESC_PRIVATE_FIRST 0x800
  187. #define IME_ESC_PRIVATE_LAST 0xFFF
  188. #define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001
  189. #define IME_ESC_GET_EUDC_DICTIONARY 0x1003
  190. #define IME_ESC_SET_EUDC_DICTIONARY 0x1004
  191. #define IME_ESC_MAX_KEY 0x1005
  192. #define IME_ESC_IME_NAME 0x1006
  193. #define IME_ESC_SYNC_HOTKEY 0x1007
  194. #define IME_ESC_HANJA_MODE 0x1008
  195. #define IME_ESC_AUTOMATA 0x1009
  196. #define IME_REGWORD_STYLE_EUDC 1
  197. #define IME_REGWORD_STYLE_USER_FIRST 0x80000000
  198. #define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF
  199. #define SOFTKEYBOARD_TYPE_T1 1
  200. #define SOFTKEYBOARD_TYPE_C1 2
  201. #ifndef VK_PROCESSKEY
  202. #define VK_PROCESSKEY 0x0E5
  203. #endif
  204. #define STYLE_DESCRIPTION_SIZE 32
  205. typedef DWORD HIMC;
  206. typedef DWORD HIMCC;
  207. typedef HKL *LPHKL;
  208. typedef struct tagCOMPOSITIONFORM {
  209.     DWORD dwStyle;
  210.     POINT ptCurrentPos;
  211.     RECT rcArea;
  212. } COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM;
  213. typedef struct tagCANDIDATEFORM {
  214.     DWORD dwIndex;
  215.     DWORD dwStyle;
  216.     POINT ptCurrentPos;
  217.     RECT rcArea;
  218. } CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM;
  219. typedef struct tagCANDIDATELIST {
  220.     DWORD dwSize;
  221.     DWORD dwStyle;
  222.     DWORD dwCount;
  223.     DWORD dwSelection;
  224.     DWORD dwPageStart;
  225.     DWORD dwPageSize;
  226.     DWORD dwOffset[1];
  227. } CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST;
  228. typedef struct tagREGISTERWORDA {
  229.     LPSTR lpReading;
  230.     LPSTR lpWord;
  231. } REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA;
  232. typedef struct tagREGISTERWORDW {
  233.     LPWSTR lpReading;
  234.     LPWSTR lpWord;
  235. } REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW;
  236. typedef struct tagSTYLEBUFA {
  237.     DWORD dwStyle;
  238.     CHAR szDescription[STYLE_DESCRIPTION_SIZE];
  239. } STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA;
  240. typedef struct tagSTYLEBUFW {
  241.     DWORD dwStyle;
  242.     WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
  243. } STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW;
  244. typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
  245. typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
  246. #ifdef UNICODE
  247. #define REGISTERWORDENUMPROC REGISTERWORDENUMPROCW
  248. typedef REGISTERWORDW REGISTERWORD;
  249. typedef PREGISTERWORDW PREGISTERWORD;
  250. typedef LPREGISTERWORDW LPREGISTERWORD;
  251. typedef STYLEBUFW STYLEBUF;
  252. typedef PSTYLEBUFW PSTYLEBUF;
  253. typedef LPSTYLEBUFW LPSTYLEBUF;
  254. #else
  255. #define REGISTERWORDENUMPROC REGISTERWORDENUMPROCA
  256. typedef REGISTERWORDA REGISTERWORD;
  257. typedef PREGISTERWORDA PREGISTERWORD;
  258. typedef LPREGISTERWORDA LPREGISTERWORD;
  259. typedef STYLEBUFA STYLEBUF;
  260. typedef PSTYLEBUFA PSTYLEBUF;
  261. typedef LPSTYLEBUFA LPSTYLEBUF;
  262. #endif
  263. HKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR);
  264. HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR);
  265. HWND WINAPI ImmGetDefaultIMEWnd(HWND);
  266. UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT);
  267. UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT);
  268. UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT);
  269. UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT);
  270. DWORD WINAPI ImmGetProperty(HKL,DWORD);
  271. BOOL WINAPI ImmIsIME(HKL);
  272. BOOL WINAPI ImmSimulateHotKey(HWND,DWORD);
  273. HIMC WINAPI ImmCreateContext(void);
  274. BOOL WINAPI ImmDestroyContext(HIMC);
  275. HIMC WINAPI ImmGetContext(HWND);
  276. BOOL WINAPI ImmReleaseContext(HWND,HIMC);
  277. HIMC WINAPI ImmAssociateContext(HWND,HIMC);
  278. LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD);
  279. LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD);
  280. BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
  281. BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
  282. DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD);
  283. DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD);
  284. DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD);
  285. DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD);
  286. DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD);
  287. DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD);
  288. BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD);
  289. BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD);
  290. BOOL WINAPI ImmGetOpenStatus(HIMC);
  291. BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL);
  292. BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA);
  293. BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW);
  294. BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA);
  295. BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW);
  296. BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID);
  297. BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID);
  298. LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID);
  299. LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID);
  300. DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT);
  301. DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT);
  302. BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD);
  303. BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT);
  304. BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT);
  305. BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM);
  306. BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM);
  307. BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM);
  308. BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM);
  309. BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM);
  310. BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM);
  311. UINT WINAPI ImmGetVirtualKey(HWND);
  312. BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
  313. BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
  314. BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
  315. BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
  316. UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA);
  317. UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW);
  318. UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID);
  319. UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID);
  320. BOOL WINAPI EnableEUDC(BOOL);
  321. #ifdef UNICODE
  322. #define ImmEnumRegisterWord ImmEnumRegisterWordW
  323. #define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW
  324. #define ImmUnregisterWord ImmUnregisterWordW
  325. #define ImmRegisterWord ImmRegisterWordW
  326. #define ImmInstallIME ImmInstallIMEW
  327. #define ImmIsUIMessage ImmIsUIMessageW
  328. #define ImmGetConversionList ImmGetConversionListW
  329. #define ImmEscape ImmEscapeW
  330. #define ImmConfigureIME ImmConfigureIMEW
  331. #define ImmSetCompositionFont ImmSetCompositionFontW
  332. #define ImmGetCompositionFont ImmGetCompositionFontW
  333. #define ImmGetGuideLine ImmGetGuideLineW
  334. #define ImmGetCandidateList ImmGetCandidateListW
  335. #define ImmGetCandidateListCount ImmGetCandidateListCountW
  336. #define ImmSetCompositionString ImmSetCompositionStringW
  337. #define ImmGetCompositionString ImmGetCompositionStringW
  338. #define ImmGetDescription ImmGetDescriptionW
  339. #define ImmGetIMEFileName ImmGetIMEFileNameW
  340. #else
  341. #define ImmEnumRegisterWord ImmEnumRegisterWordA
  342. #define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA
  343. #define ImmUnregisterWord ImmUnregisterWordA
  344. #define ImmRegisterWord ImmRegisterWordA
  345. #define ImmInstallIME ImmInstallIMEA
  346. #define ImmIsUIMessage ImmIsUIMessageA
  347. #define ImmGetConversionList ImmGetConversionListA
  348. #define ImmEscape ImmEscapeA
  349. #define ImmConfigureIME ImmConfigureIMEA
  350. #define ImmSetCompositionFont ImmSetCompositionFontA
  351. #define ImmGetCompositionFont ImmGetCompositionFontA
  352. #define ImmGetGuideLine ImmGetGuideLineA
  353. #define ImmGetCandidateList ImmGetCandidateListA
  354. #define ImmGetCandidateListCount ImmGetCandidateListCountA
  355. #define ImmSetCompositionString ImmSetCompositionStringA
  356. #define ImmGetCompositionString ImmGetCompositionStringA
  357. #define ImmGetDescription ImmGetDescriptionA
  358. #define ImmGetIMEFileName ImmGetIMEFileNameA
  359. #endif
  360. #ifdef __cplusplus
  361. }
  362. #endif
  363. #endif
  364.