CIMESoftKbd.h
上传用户:hyb6888
上传日期:2016-01-24
资源大小:5186k
文件大小:2k
源码类别:

输入法编程

开发平台:

Visual C++

  1. /*
  2. * author : yuchifang(realfun)
  3. * email : renzhongfang@nju.org.cn
  4. */
  5. #ifndef _IME_SOFTKBD_H_
  6. #define _IME_SOFTKBD_H_
  7. #define ISC_SHOW_SOFTKBD        0x02000000
  8. typedef struct _tagUIPRIV {     // IME private UI data
  9.     HWND    hCompWnd;           // composition window
  10.     int     nShowCompCmd;
  11.     HWND    hCandWnd;           // candidate window for composition
  12.     int     nShowCandCmd;
  13.     HWND    hSoftKbdWnd;        // soft keyboard window
  14.     int     nShowSoftKbdCmd;
  15.     HWND    hStatusWnd;         // status window
  16.     int     nShowStatusCmd;
  17.     DWORD   fdwSetContext;      // the actions to take at set context time
  18.     HIMC    hIMC;               // the recent selected hIMC
  19.     HWND    hCMenuWnd;          // a window owner for context menu
  20. HWND hSoftkeyMenuWnd; // a window owner for softkeyboard menu
  21. } UIPRIV;
  22. typedef UIPRIV      *PUIPRIV;
  23. typedef UIPRIV NEAR *NPUIPRIV;
  24. typedef UIPRIV FAR  *LPUIPRIV;
  25. #define NumsSK                  14
  26. typedef struct _tagPRIVCONTEXT {// IME private data for each context
  27.     int         iImeState;      // the composition state - input, choose, or
  28.     BOOL        fdwImeMsg;      // what messages should be generated
  29.     DWORD       dwCompChar;     // wParam of WM_IME_COMPOSITION
  30.     DWORD       fdwGcsFlag;     // lParam for WM_IME_COMPOSITION
  31. // SK data
  32. // Symbol pair Flag
  33. UINT        uSYHFlg;
  34. UINT        uDYHFlg;
  35. UINT        uDSMHCount;
  36. UINT        uDSMHFlg;
  37. // input data
  38.     BYTE        bSeq[13];        // sequence code of input char
  39.     DWORD       fdwGB;
  40. HIMCC hRevCandList; // memory for reconsion result
  41. } PRIVCONTEXT;
  42. typedef PRIVCONTEXT FAR  *LPPRIVCONTEXT;
  43. //该类封装了软键盘操作
  44. class CIMESoftKbd
  45. {
  46. void SetSoftKbdData( int NUM);
  47. HWND  CreateSoftKbd(HWND hUIWnd);
  48. public:
  49. DWORD savhimc,Curhimc;
  50. HWND initalize(DWORD himc);
  51. int showflage;
  52. HWND CIMEhSoftKbdWnd;
  53. int CurentKbdNum;
  54. CIMESoftKbd();
  55. ~CIMESoftKbd();
  56. void ShowNextSoftKbd();
  57. void ShowSoftKbd();
  58.  long SelID();
  59.  long  Popup();
  60.  long mSelID;
  61. };
  62. #endif//_IME_SOFTKBD_H_