Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
2.8 KiB

  1. /***********************************************************************\
  2. * *
  3. * WINNLS.H - East Asia input method editor (DBCS_IME) definitions *
  4. * *
  5. * History: *
  6. * 21-Oct-1991 bent *
  7. * initial merge of East Asia 3.0 versions *
  8. * Should be updated to resolve local inconsistencies. *
  9. * *
  10. * Copyright (c) 1990 Microsoft Corporation *
  11. * *
  12. \***********************************************************************/
  13. typedef struct _tagDATETIME {
  14. WORD year;
  15. WORD month;
  16. WORD day;
  17. WORD hour;
  18. WORD min;
  19. WORD sec;
  20. } DATETIME;
  21. typedef struct _tagIMEPRO {
  22. HWND hWnd;
  23. DATETIME InstDate;
  24. WORD wVersion;
  25. BYTE szDescription[50];
  26. BYTE szName[80];
  27. BYTE szOptions[30];
  28. #ifdef TAIWAN
  29. BYTE szUsrFontName[80];
  30. BOOL fEnable;
  31. #endif
  32. } IMEPRO;
  33. typedef IMEPRO *PIMEPRO;
  34. typedef IMEPRO near *NPIMEPRO;
  35. typedef IMEPRO far *LPIMEPRO;
  36. void FAR PASCAL InquireWINNLS( void ); /* ;Internal */
  37. BOOL FAR PASCAL IMPGetIME( HWND, LPIMEPRO );
  38. BOOL FAR PASCAL IMPQueryIME( LPIMEPRO );
  39. BOOL FAR PASCAL IMPDeleteIME( LPIMEPRO );
  40. BOOL FAR PASCAL IMPAddIME( LPIMEPRO );
  41. BOOL FAR PASCAL IMPSetIME( HWND, LPIMEPRO );
  42. BOOL FAR PASCAL IMEModifyIME( LPSTR, LPIMEPRO ); /* ;Internal */
  43. WORD FAR PASCAL IMPGetDefaultIME( LPIMEPRO ); /* ;Internal */
  44. WORD FAR PASCAL IMPSetDefaultIME( LPIMEPRO ); /* ;Internal */
  45. BOOL FAR PASCAL WINNLSSetIMEHandle( LPSTR, HWND ); /* ;Internal */
  46. BOOL FAR PASCAL WINNLSSetIMEStatus( HWND, BOOL ); /* ;Internal */
  47. BOOL FAR PASCAL WINNLSEnableIME( HWND, BOOL );
  48. WORD FAR PASCAL WINNLSGetKeyState( void ); /* ;Internal */
  49. VOID FAR PASCAL WINNLSSetKeyState( WORD ); /* ;Internal */
  50. BOOL FAR PASCAL WINNLSGetEnableStatus( HWND );
  51. BOOL FAR PASCAL WINNLSSetKeyboardHook (BOOL); /* ;Internal */
  52. #ifdef KOREA
  53. BOOL FAR PASCAL WINNLSSetIMEHotkey( HWND, WORD, WORD );
  54. LONG FAR PASCAL WINNLSGetIMEHotkey( HWND );
  55. #else
  56. BOOL FAR PASCAL WINNLSSetIMEHotkey( HWND, WORD ); /* ;Internal */
  57. WORD FAR PASCAL WINNLSGetIMEHotkey( HWND );
  58. #endif //KOREA
  59. #ifdef TAIWAN
  60. typedef HANDLE HIME;
  61. /* Extended IME information*/
  62. typedef struct _tagIMEInfo {
  63. BYTE szIMEName[7];
  64. BYTE szPrompMessage[32];
  65. WORD nMaxKeyLen;
  66. } IMEINFO;
  67. typedef IMEINFO far *LPIMEINFO;
  68. HWND FAR PASCAL WINNLSGetSysIME(void);
  69. void FAR PASCAL WINNLSSetSysIME(HWND);
  70. BOOL FAR PASCAL SwitchIM( WORD , WORD );
  71. BOOL ToNextIM(void);
  72. void SetFullAbcState(BOOL);
  73. BOOL EngChiSwitch(BOOL);
  74. void FAR PASCAL TimerProc(HWND,int,WORD,LONG);
  75. HWND FAR PASCAL IMPGetFullShapeHWnd(void);
  76. void FAR PASCAL IMPSetFullShapeHWnd(HWND);
  77. BOOL FAR PASCAL IMPSetFirstIME(HWND,LPIMEPRO);
  78. BOOL FAR PASCAL IMPGetFirstIME(HWND,LPIMEPRO);
  79. BOOL FAR PASCAL IMPDialogIME(LPIMEPRO,HWND);
  80. BOOL FAR PASCAL IMPEnableIME(HWND,LPIMEPRO,BOOL);
  81. BOOL FAR PASCAL IMPSetUsrFont(HWND,LPIMEPRO);
  82. BOOL FAR PASCAL WINNLSQueryIMEInfo(HWND,HWND,LPIMEINFO);
  83. #endif //TAIWAN