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.

105 lines
3.6 KiB

  1. /*****************************************************************************\
  2. * *
  3. * custcntl.h - Custom Control Library header file *
  4. * *
  5. * Copyright (c) 1992, Microsoft Corp. All rights reserved *
  6. * *
  7. \*****************************************************************************/
  8. #ifndef _INC_CUSTCNTL
  9. #define _INC_CUSTCNTL
  10. #ifndef RC_INVOKED
  11. #pragma pack(1) /* Assume byte packing throughout */
  12. #endif /* RC_INVOKED */
  13. #ifdef __cplusplus
  14. extern "C" { /* Assume C declarations for C++ */
  15. #endif /* __cplusplus */
  16. /*
  17. * Every custom control DLL must have three functions present,
  18. * and they must be exported by the following ordinals.
  19. */
  20. #define CCINFOORD 2 /* information function ordinal */
  21. #define CCSTYLEORD 3 /* styles function ordinal */
  22. #define CCFLAGSORD 4 /* translate flags function ordinal */
  23. /* general size definitions */
  24. #define CTLTYPES 12 /* max number of control types */
  25. #define CTLDESCR 22 /* max size of description */
  26. #define CTLCLASS 20 /* max size of class name */
  27. #define CTLTITLE 94 /* max size of control text */
  28. /*
  29. * CONTROL STYLE DATA STRUCTURE
  30. *
  31. * This data structure is used by the class style dialog function
  32. * to set and/or reset various control attributes.
  33. *
  34. */
  35. typedef struct tagCTLSTYLE
  36. {
  37. UINT wX; /* x origin of control */
  38. UINT wY; /* y origin of control */
  39. UINT wCx; /* width of control */
  40. UINT wCy; /* height of control */
  41. UINT wId; /* control child id */
  42. DWORD dwStyle; /* control style */
  43. char szClass[CTLCLASS]; /* name of control class */
  44. char szTitle[CTLTITLE]; /* control text */
  45. } CTLSTYLE;
  46. typedef CTLSTYLE * PCTLSTYLE;
  47. typedef CTLSTYLE FAR* LPCTLSTYLE;
  48. /*
  49. * CONTROL DATA STRUCTURE
  50. *
  51. * This data structure is returned by the control options function
  52. * when inquiring about the capabilities of a particular control.
  53. * Each control may contain various types (with predefined style
  54. * bits) under one general class.
  55. *
  56. * The width and height fields are used to provide the host
  57. * application with a suggested size. The values in these fields
  58. * are in rc coordinates.
  59. *
  60. */
  61. typedef struct tagCTLTYPE
  62. {
  63. UINT wType; /* type style */
  64. UINT wWidth; /* suggested width */
  65. UINT wHeight; /* suggested height */
  66. DWORD dwStyle; /* default style */
  67. char szDescr[CTLDESCR]; /* description */
  68. } CTLTYPE;
  69. typedef struct tagCTLINFO
  70. {
  71. UINT wVersion; /* control version */
  72. UINT wCtlTypes; /* control types */
  73. char szClass[CTLCLASS]; /* control class name */
  74. char szTitle[CTLTITLE]; /* control title */
  75. char szReserved[10]; /* reserved for future use */
  76. CTLTYPE Type[CTLTYPES]; /* control type list */
  77. } CTLINFO;
  78. typedef CTLINFO * PCTLINFO;
  79. typedef CTLINFO FAR* LPCTLINFO;
  80. /* These two function prototypes are used by the dialog editor */
  81. #ifdef STRICT
  82. typedef DWORD (CALLBACK* LPFNSTRTOID)(LPCSTR);
  83. #else
  84. typedef DWORD (CALLBACK* LPFNSTRTOID)(LPSTR);
  85. #endif
  86. typedef UINT (CALLBACK* LPFNIDTOSTR)(UINT, LPSTR, UINT);
  87. #ifdef __cplusplus
  88. }
  89. #endif /* __cplusplus */
  90. #ifndef RC_INVOKED
  91. #pragma pack()
  92. #endif /* RC_INVOKED */
  93. #endif /* _INC_CUSTCNTL */