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

输入法编程

开发平台:

Visual C++

  1. #include <tchar.h>
  2. #include <windows.h>
  3. #include "imm.h"
  4. #define UICLASSNAME      "JSIMEwh"
  5. #ifndef JSIMEwh    
  6.   #define JSIMEwh  
  7. //由于在不同的.CPP中定义是重新定义的
  8. //所以#ifndef JSIMEwh挡住重复定义。   
  9. //由于.C的外部变量只要不指定为extern 就为本文件所用
  10. //所有不必用#ifndef判断重复定义。
  11. //////////////////////////////////////////
  12. //所有只要不定义变量在.cpp中不会引起问题。
  13. BOOL WINAPI DllMain (HINSTANCE,DWORD,LPVOID);
  14. BOOL IMERegisterClass( HANDLE);
  15. LRESULT WINAPI UIWndProc(HWND,UINT,WPARAM,LPARAM);
  16. BOOL MyIsWinNT() ;
  17. void SetTXT(char *ss);
  18. typedef struct _tagGENEMSG{
  19.     UINT msg;
  20.     WPARAM wParam;
  21.     LPARAM lParam;
  22. } GENEMSG, NEAR *PGENEMSG, FAR *LPGENEMSG;
  23. typedef struct MEMHWN{
  24.     HWND hwnd;
  25.     int x;
  26.     int y;
  27. } myHWNd, NEAR *PmyHWNd, FAR *LPmyHWNd;
  28. typedef struct _tagPRIVCONTEXT {// IME private data for each context
  29.     int         iImeState;      // the composition state - input, choose, or
  30.     BOOL        fdwImeMsg;      // what messages should be generated
  31.     DWORD       dwCompChar;     // wParam of WM_IME_COMPOSITION
  32.     DWORD       fdwGcsFlag;     // lParam for WM_IME_COMPOSITION
  33. // SK data
  34. // Symbol pair Flag
  35. UINT        uSYHFlg;
  36. UINT        uDYHFlg;
  37. UINT        uDSMHCount;
  38. UINT        uDSMHFlg;
  39. // input data
  40.     BYTE        bSeq[13];        // sequence code of input char
  41.     DWORD       fdwGB;
  42. HIMCC hRevCandList; // memory for reconsion result
  43. } PRIVCONTEXT;
  44. #define CS_FREEPY (CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS)
  45. #define GETLPRESULTSTR(lpcs) (LPTSTR)((LPBYTE)(lpcs) + (lpcs)->dwResultStrOffset)
  46. #endif  //