UCONVERT.H
上传用户:shijixite
上传日期:2007-01-03
资源大小:108k
文件大小:7k
源码类别:

输入法编程

开发平台:

Visual C++

  1. /**************************************************************************
  2. * uconvert.h -- header file for uconvert program.
  3. *
  4. * Function prototypes, global variables, & preprocessor defines.
  5. **************************************************************************/
  6. /**************************************************************************
  7. *  Function prototypes, window procedures first.
  8. **************************************************************************/
  9. LRESULT CALLBACK MainWndProc            (HWND, UINT, WPARAM, LPARAM);
  10. LRESULT CALLBACK AboutProc              (HWND, UINT, WPARAM, LPARAM);
  11. LRESULT CALLBACK SourceOptionsProc      (HWND, UINT, WPARAM, LPARAM);
  12. LRESULT CALLBACK DestinationOptionsProc (HWND, UINT, WPARAM, LPARAM);
  13. LRESULT CALLBACK ConversionOptionsProc  (HWND, UINT, WPARAM, LPARAM);
  14. LRESULT CALLBACK ViewSourceProc         (HWND, UINT, WPARAM, LPARAM);
  15. LRESULT CALLBACK ViewDestinationProc    (HWND, UINT, WPARAM, LPARAM);
  16. BOOL IsUnicode (PBYTE );
  17. BOOL IsBOM (PBYTE );
  18. BOOL IsRBOM (PBYTE );
  19. VOID framechildwindow     (HDC, HWND, HWND);
  20. VOID underlinechildwindow (HDC, HWND, HWND);
  21. VOID createwindows(PRECT, HWND, HWND*, HWND*, HWND*, HWND*, HWND*, HWND*);
  22. LPVOID ManageMemory (UINT, UINT, DWORD, LPVOID);
  23. LPTSTR LoadResourceString(UINT);
  24. /**************************************************************************
  25. *  Global variables (declared in uconvert.c).
  26. **************************************************************************/
  27. /* Child windows appearing on the main frame window. */
  28. extern HWND hwndLabel0,     hwndLabel1;
  29. extern HWND hwndName0,      hwndName1;
  30. extern HWND hwndSize0,      hwndSize1;
  31. extern HWND hwndCodePage0,  hwndCodePage1;
  32. extern HWND hwndByteOrder0, hwndByteOrder1;
  33. extern HWND hwndButton0,    hwndButton1;
  34. /* Information specifying which is unicode and what the other code page is. */
  35. extern int  gTypeSource;
  36. extern UINT giSourceCodePage;
  37. extern UINT giDestinationCodePage;
  38. /* pointers to global source & destination data, and byte count. */
  39. extern PBYTE pSourceData;
  40. extern PBYTE pDestinationData;
  41. extern int   nBytesSource;
  42. extern int   nBytesDestination;
  43. /* Conversion Options variables. */
  44. extern DWORD gMBFlags;
  45. extern DWORD gWCFlags;
  46. extern char  glpDefaultChar[];
  47. extern BOOL  gUsedDefaultChar;
  48. /**************************************************************************
  49. *  Defined constants.
  50. **************************************************************************/
  51. /* Messages that can be send to ManageMemory() as first param */
  52. #define MMALLOC 1
  53. #define MMFREE  2
  54. /* Messages that can be send to ManageMemory() as second param */
  55. #define MMSOURCE       3
  56. #define MMDESTINATION  4
  57. /* Allowed values for the global variable gTypeSource */
  58. #define TYPEUNKNOWN     0
  59. #define TYPEUNICODE     1
  60. #define TYPECODEPAGE    2
  61. /* "user message."  Used by main window.  */
  62. #define  WMU_SETTYPESTRINGS     WM_USER +1
  63. #define  WMU_ADJUSTFORNEWSOURCE WM_USER +2
  64. /* menu IDs */
  65. #define  MID_OPEN                    1001
  66. #define  MID_SAVEAS                  1002
  67. #define  MID_EXIT                    1010
  68. #define  MID_COPYDESTINATION         2001
  69. #define  MID_PASTESOURCE             2002
  70. #define  MID_CLEARSOURCE             2003
  71. #define  MID_CLEARDESTINATION        2004
  72. #define  MID_CONVERTNOW              3001
  73. #define  MID_SOURCEOPT               3002
  74. #define  MID_DESTINATIONOPT          3003
  75. #define  MID_CONVERSIONOPT           3004
  76. #define  MID_SWAPSOURCE              3005
  77. #define  MID_SWAPDESTINATION         3006
  78. #define  MID_INSTALLTABLES           3007
  79. #define  MID_HELP                    4001
  80. #define  MID_ABOUT                   4002
  81. /* button IDs (should be disjoint from menu IDs) */
  82. #define  BID_VIEWSOURCE                59
  83. #define  BID_VIEWDESTINATION           60
  84. /* dialog IDs */
  85. #define  DID_NAME                     100
  86. #define  DID_TYPE                     101
  87. #define  DID_FONT                     102
  88. #define  DID_TEXT                     103
  89. #define  DID_CODEPAGELIST             300
  90. #define  DID_RBUNICODE                301
  91. #define  DID_RBANSICP                 302
  92. #define  DID_RBOEMCP                  303
  93. #define  DID_RBOTHERCP                304
  94. #define  DID_CBBYTEORDER              305
  95. #define  DID_PRECOMPOSED              401
  96. #define  DID_COMPOSITE                402
  97. #define  DID_USEGLYPHCHARS            403
  98. #define  DID_COMPOSITECHECK           451
  99. #define  DID_DISCARDNS                452
  100. #define  DID_SEPCHARS                 453
  101. #define  DID_DEFAULTCHAR              454
  102. #define  DID_EFDEFAULTCHAR            455
  103. #define  DID_USEDDEFAULTCHAR          456
  104. /* Define a value for the LOGFONT.lfCharSet
  105.  *  This should be included in wingdi.h, but it
  106.  *  was removed because the font mapper is not
  107.  *  using it anyway in version 1.0.  Currently
  108.  *  scheduled to be included in NT ver 1.1.
  109.  */
  110. #define UNICODE_CHARSET  1
  111. /* string id */
  112. #define  IDS_SOURCE                   501
  113. #define  IDS_DESTINATION              502
  114. #define  IDS_VIEW_SOURCE_BTN          503
  115. #define  IDS_VIEW_DESTINATION_BTN     504
  116. #define  IDS_FILE_FILTER_SPEC1        505
  117. #define  IDS_FILE_FILTER_SPEC2        506
  118. #define  IDS_FILE_FILTER_SPEC3        507
  119. #define  IDS_CODE_PAGE                508
  120. #define  IDS_OPEN_FILE_TITLE          509
  121. #define  IDS_OPEN_FILE_FAILED         510
  122. #define  IDS_FILE_TOO_BIG             511
  123. #define  IDS_READFILE_FAILED          512
  124. #define  IDS_SWAPPING_BYTE_ORDER      513
  125. #define  IDS_NOTEXT_TO_SAVE           514
  126. #define  IDS_SAVE_AS_TITLE            515
  127. #define  IDS_CREATEFILE_FAILED        516
  128. #define  IDS_WRITEFILE_FAILED         517
  129. #define  IDS_FROM_CLIPBOARD           518
  130. #define  IDS_LOAD_SOURCE_FILE         519
  131. #define  IDS_SOURCE_TYPE_UNKNOWN      520
  132. #define  IDS_DATA_NOT_SAVED           521
  133. #define  IDS_BYTES                    522
  134. #define  IDS_BYTE_ORDER_REVERSED      533
  135. #define  IDS_APP_WARNING              534
  136. #define  IDS_INTERPRET_SOURCE_AS      535
  137. #define  IDS_CONVERT_DEST_TO          536
  138. #define  IDS_VIEW_SOURCE_TITLE        537
  139. #define  IDS_VIEW_DEST_TITLE          538
  140. #define  IDS_FILE_FILTER_SPEC4        539
  141. #define  IDS_TABLE_FILE_TITLE         540
  142. #define  IDS_INCORRECT_FILE_TYPE      541
  143. #define  IDS_FILENAME_OVERFLOW        542
  144. #define  IDS_LOGON_AS_ADMIN           543
  145. #define  IDS_ACCESS_DENIED            544
  146. #define  IDS_REGOPENKEYEX_FAILED      545
  147. #define  IDS_FILE_ALREADY_EXISTS      546
  148. #define  IDS_FILE_CP_FAILED_AGAIN     547
  149. #define  IDS_FILE_CP_FAILED           548
  150. #define  IDS_FILE_PARSE_FAILED        549
  151. #define  IDS_FIRSTCALL_FAILED         550