home *** CD-ROM | disk | FTP | other *** search
/ Total C++ 2 / TOTALCTWO.iso / borland / services.pak / WIN95_16.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  3KB  |  109 lines

  1. //----------------------------------------------------------------------------
  2. // Borland Services Library
  3. // Copyright (c) 1993, 1997 by Borland International, All Rights Reserved
  4. //
  5. //$Revision:   5.7  $
  6. //
  7. // Defines WIN95 specific macros/structures for use with pre-4.0 versions of
  8. // the WINDOWS.H header.
  9. //
  10. //----------------------------------------------------------------------------
  11. #if defined(_Windows)
  12. #if !defined(SERVICES_WIN95_16_H)
  13. #define SERVICES_WIN95_16_H
  14.  
  15. //
  16. // Check that WINDOWS.H has been included
  17. //
  18. #if !defined(WINVER)
  19. # error  WINVER must be defined. Include WINDOWS.H before WIN95_16.H
  20. #endif
  21. #if (WINVER < 0x030a)
  22. # error  Requires version of WINDOWS.H where WINVER >= 0x030a
  23. #endif
  24.  
  25. //
  26. // This header is only necessary if we're using an earlier
  27. // version of WINDOWS.H
  28. //
  29. #if (WINVER < 0x0400)
  30.  
  31. typedef struct tagNMHDR
  32. {
  33. #ifdef tagWND
  34.     HWND_16 hwndFrom;
  35. #else
  36.     HWND  hwndFrom;
  37. #endif
  38.     WORD  _wDummy1;
  39.     UINT  idFrom;
  40.     WORD  _wDummy2;
  41.     UINT  code;
  42.     WORD  _wDummy3;
  43. }   NMHDR;
  44. typedef NMHDR FAR * LPNMHDR;
  45.  
  46. #define WM_NOTIFY       0x004E
  47. #define WM_CONTEXTMENU  0x007B
  48.  
  49. typedef WORD            WCHAR;
  50.  
  51. /* Image type */
  52. #define DST_COMPLEX     0x0000
  53. #define DST_TEXT        0x0001
  54. #define DST_PREFIXTEXT  0x0002
  55. #define DST_ICON        0x0003
  56. #define DST_BITMAP      0x0004
  57.  
  58. /* State type */
  59. #define DSS_NORMAL      0x0000
  60. #define DSS_UNION       0x0010  /* Old gray string appearance */
  61. #define DSS_DISABLED    0x0020
  62. #define DSS_MONO        0x0080
  63. #define DSS_RIGHT       0x8000
  64.  
  65. #ifdef STRICT
  66. typedef BOOL (CALLBACK* DRAWSTATEPROC)(HDC, LPARAM, WPARAM, int, int);
  67. #else
  68. typedef FARPROC DRAWSTATEPROC;
  69. #endif
  70. BOOL    WINAPI DrawState(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
  71.  
  72. #if !defined(BI_BITFIELDS)
  73. # define BI_BITFIELDS 3L
  74. #endif
  75.  
  76. #if !defined(REG_SZ)
  77. # define  REG_SZ              1
  78. #endif
  79. #if !defined(HKEY_CLASSES_ROOT)
  80. # define  HKEY_CLASSES_ROOT   1
  81. #endif
  82.  
  83. // When compiling a 16-bit app, wide-string types need to be redefined
  84. // as ANSI types to avoid compiler complaints.  The problem arises
  85. // because we include common control headers in 16-bit compilation.
  86. // (16-bit apps don't use the wide-string declarations, but bcc complains
  87. // because WINDOWS.H doesn't define them.)
  88. //
  89.  
  90. #if !defined(__FLAT__)
  91. typedef char far* LPSTR;
  92. typedef LPSTR LPCWSTR;
  93. typedef LPSTR LPWSTR;
  94. #endif
  95.  
  96. // Plays games with COMMCTRL.H so that we can get the WIN95 goodies
  97. // even when using an earlier version of the 16-bit version of
  98. // WINDOWS.H
  99. //
  100. #undef  WINVER
  101. #define WINVER      0x0400
  102. #include <commctrl.h>
  103. #undef  WINVER
  104. #define WINVER      0x030a
  105.  
  106. #endif  // WINVER < 0x0400
  107. #endif  // SERVICES_WIN95_16_H
  108. #endif  // _Windows
  109.