Leaked source code of windows server 2003
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.

312 lines
9.4 KiB

  1. /*
  2. * DirectUI UI file pre-process header
  3. */
  4. #ifndef DUI_INC_DIRECTUIPP_H_INCLUDED
  5. #define DUI_INC_DIRECTUIPP_H_INCLUDED
  6. /*
  7. * NOTE: Various system #defines are replicated here for 2 reasons:
  8. * 1) Preprocessing a file like winuser.h results in a huge UIPP file
  9. * 2) The resultant UIPP file cannot be parsed by DUI due to function prototypes
  10. */
  11. /*
  12. * SYSMETRIC: Retrieves system dependent information (integer values)
  13. *
  14. * Can use GetSystemMetrics() SM_* values plus DirectUI-specific values
  15. * as argument
  16. */
  17. #ifndef DIRECTUIPP_IGNORESYSDEF
  18. // GetSystemMetrics()
  19. #define SM_CXSCREEN 0
  20. #define SM_CYSCREEN 1
  21. #define SM_CXVSCROLL 2
  22. #define SM_CYHSCROLL 3
  23. #define SM_CYCAPTION 4
  24. #define SM_CXBORDER 5
  25. #define SM_CYBORDER 6
  26. #define SM_CXDLGFRAME 7
  27. #define SM_CYDLGFRAME 8
  28. #define SM_CYVTHUMB 9
  29. #define SM_CXHTHUMB 10
  30. #define SM_CXICON 11
  31. #define SM_CYICON 12
  32. #define SM_CXCURSOR 13
  33. #define SM_CYCURSOR 14
  34. #define SM_CYMENU 15
  35. #define SM_CXFULLSCREEN 16
  36. #define SM_CYFULLSCREEN 17
  37. #define SM_CYKANJIWINDOW 18
  38. #define SM_MOUSEPRESENT 19
  39. #define SM_CYVSCROLL 20
  40. #define SM_CXHSCROLL 21
  41. #define SM_DEBUG 22
  42. #define SM_SWAPBUTTON 23
  43. #define SM_RESERVED1 24
  44. #define SM_RESERVED2 25
  45. #define SM_RESERVED3 26
  46. #define SM_RESERVED4 27
  47. #define SM_CXMIN 28
  48. #define SM_CYMIN 29
  49. #define SM_CXSIZE 30
  50. #define SM_CYSIZE 31
  51. #define SM_CXFRAME 32
  52. #define SM_CYFRAME 33
  53. #define SM_CXMINTRACK 34
  54. #define SM_CYMINTRACK 35
  55. #define SM_CXDOUBLECLK 36
  56. #define SM_CYDOUBLECLK 37
  57. #define SM_CXICONSPACING 38
  58. #define SM_CYICONSPACING 39
  59. #define SM_MENUDROPALIGNMENT 40
  60. #define SM_PENWINDOWS 41
  61. #define SM_DBCSENABLED 42
  62. #define SM_CMOUSEBUTTONS 43
  63. #define SM_CXFIXEDFRAME SM_CXDLGFRAME
  64. #define SM_CYFIXEDFRAME SM_CYDLGFRAME
  65. #define SM_CXSIZEFRAME SM_CXFRAME
  66. #define SM_CYSIZEFRAME SM_CYFRAME
  67. #define SM_SECURE 44
  68. #define SM_CXEDGE 45
  69. #define SM_CYEDGE 46
  70. #define SM_CXMINSPACING 47
  71. #define SM_CYMINSPACING 48
  72. #define SM_CXSMICON 49
  73. #define SM_CYSMICON 50
  74. #define SM_CYSMCAPTION 51
  75. #define SM_CXSMSIZE 52
  76. #define SM_CYSMSIZE 53
  77. #define SM_CXMENUSIZE 54
  78. #define SM_CYMENUSIZE 55
  79. #define SM_ARRANGE 56
  80. #define SM_CXMINIMIZED 57
  81. #define SM_CYMINIMIZED 58
  82. #define SM_CXMAXTRACK 59
  83. #define SM_CYMAXTRACK 60
  84. #define SM_CXMAXIMIZED 61
  85. #define SM_CYMAXIMIZED 62
  86. #define SM_NETWORK 63
  87. #define SM_CLEANBOOT 67
  88. #define SM_CXDRAG 68
  89. #define SM_CYDRAG 69
  90. #define SM_SHOWSOUNDS 70
  91. #define SM_CXMENUCHECK 71
  92. #define SM_CYMENUCHECK 72
  93. #define SM_SLOWMACHINE 73
  94. #define SM_MIDEASTENABLED 74
  95. #define SM_MOUSEWHEELPRESENT 75
  96. #define SM_XVIRTUALSCREEN 76
  97. #define SM_YVIRTUALSCREEN 77
  98. #define SM_CXVIRTUALSCREEN 78
  99. #define SM_CYVIRTUALSCREEN 79
  100. #define SM_CMONITORS 80
  101. #define SM_SAMEDISPLAYFORMAT 81
  102. #define SM_CMETRICS 83
  103. #endif // DIRECTUIPP_IGNORESYSDEF
  104. #define DSM_NCMAX -1
  105. #define DSM_CAPTIONFONTSIZE -1
  106. #define DSM_CAPTIONFONTWEIGHT -2
  107. #define DSM_CAPTIONFONTSTYLE -3
  108. #define DSM_MENUFONTSIZE -4
  109. #define DSM_MENUFONTWEIGHT -5
  110. #define DSM_MENUFONTSTYLE -6
  111. #define DSM_MESSAGEFONTSIZE -7
  112. #define DSM_MESSAGEFONTWEIGHT -8
  113. #define DSM_MESSAGEFONTSTYLE -9
  114. #define DSM_SMCAPTIONFONTSIZE -10
  115. #define DSM_SMCAPTIONFONTWEIGHT -11
  116. #define DSM_SMCAPTIONFONTSTYLE -12
  117. #define DSM_STATUSFONTSIZE -13
  118. #define DSM_STATUSFONTWEIGHT -14
  119. #define DSM_STATUSFONTSTYLE -15
  120. #define DSM_NCMIN -15
  121. #define DSM_ICMAX -16
  122. #define DSM_ICONFONTSIZE -16
  123. #define DSM_ICONFONTWEIGHT -17
  124. #define DSM_ICONFONTSTYLE -18
  125. #define DSM_ICMIN -18
  126. /*
  127. * SYSMETRICSTR: Retrieves system dependent information (string values)
  128. *
  129. * Can use DirectUI-specific values as argument
  130. */
  131. #define DSMS_NCMIN 1
  132. #define DSMS_CAPTIONFONTFACE 1
  133. #define DSMS_MENUFONTFACE 2
  134. #define DSMS_MESSAGEFONTFACE 3
  135. #define DSMS_SMCAPTIONFONTFACE 4
  136. #define DSMS_STATUSFONTFACE 5
  137. #define DSMS_NCMAX 5
  138. #define DSMS_ICMIN 6
  139. #define DSMS_ICONFONTFACE 6
  140. #define DSMS_ICMAX 6
  141. #ifndef DIRECTUIPP_IGNORESYSDEF
  142. /*
  143. * DrawFrameControl
  144. */
  145. #define DFC_CAPTION 1
  146. #define DFC_MENU 2
  147. #define DFC_SCROLL 3
  148. #define DFC_BUTTON 4
  149. #define DFC_POPUPMENU 5
  150. #define DFCS_CAPTIONCLOSE 0x0000
  151. #define DFCS_CAPTIONMIN 0x0001
  152. #define DFCS_CAPTIONMAX 0x0002
  153. #define DFCS_CAPTIONRESTORE 0x0003
  154. #define DFCS_CAPTIONHELP 0x0004
  155. #define DFCS_MENUARROW 0x0000
  156. #define DFCS_MENUCHECK 0x0001
  157. #define DFCS_MENUBULLET 0x0002
  158. #define DFCS_MENUARROWRIGHT 0x0004
  159. #define DFCS_SCROLLUP 0x0000
  160. #define DFCS_SCROLLDOWN 0x0001
  161. #define DFCS_SCROLLLEFT 0x0002
  162. #define DFCS_SCROLLRIGHT 0x0003
  163. #define DFCS_SCROLLCOMBOBOX 0x0005
  164. #define DFCS_SCROLLSIZEGRIP 0x0008
  165. #define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
  166. #define DFCS_BUTTONCHECK 0x0000
  167. #define DFCS_BUTTONRADIOIMAGE 0x0001
  168. #define DFCS_BUTTONRADIOMASK 0x0002
  169. #define DFCS_BUTTONRADIO 0x0004
  170. #define DFCS_BUTTON3STATE 0x0008
  171. #define DFCS_BUTTONPUSH 0x0010
  172. #define DFCS_INACTIVE 0x0100
  173. #define DFCS_PUSHED 0x0200
  174. #define DFCS_CHECKED 0x0400
  175. #define DFCS_TRANSPARENT 0x0800
  176. #define DFCS_HOT 0x1000
  177. #define DFCS_ADJUSTRECT 0x2000
  178. #define DFCS_FLAT 0x4000
  179. #define DFCS_MONO 0x8000
  180. #endif // DIRECTUIPP_IGNORESYSDEF
  181. /*
  182. * Themes Support (from TmSchema.h)
  183. *
  184. * Can't include UxTheme headers directly since they use 'enum'
  185. * instead of #define. So, the preprocessor won't resolve to numbers.
  186. */
  187. #ifndef DIRECTUIPP_IGNORESYSDEF
  188. // Button parts
  189. #define BP_PUSHBUTTON 1
  190. #define BP_RADIOBUTTON 2
  191. #define BP_CHECKBOX 3
  192. #define BP_GROUPBOX 4
  193. #define BP_USERBUTTON 5
  194. // PushButton states
  195. #define PBS_NORMAL 1
  196. #define PBS_HOT 2
  197. #define PBS_PRESSED 3
  198. #define PBS_DISABLED 4
  199. #define PBS_DEFAULTED 5
  200. // RadioButton states
  201. #define RBS_UNCHECKEDNORMAL 1
  202. #define RBS_UNCHECKEDHOT 2
  203. #define RBS_UNCHECKEDPRESSED 3
  204. #define RBS_UNCHECKEDDISABLED 4
  205. #define RBS_CHECKEDNORMAL 5
  206. #define RBS_CHECKEDHOT 6
  207. #define RBS_CHECKEDPRESSED 7
  208. #define RBS_CHECKEDDISABLED 8
  209. // CheckBox states
  210. #define CBS_UNCHECKEDNORMAL 1
  211. #define CBS_UNCHECKEDHOT 2
  212. #define CBS_UNCHECKEDPRESSED 3
  213. #define CBS_UNCHECKEDDISABLED 4
  214. #define CBS_CHECKEDNORMAL 5
  215. #define CBS_CHECKEDHOT 6
  216. #define CBS_CHECKEDPRESSED 7
  217. #define CBS_CHECKEDDISABLED 8
  218. #define CBS_MIXEDNORMAL 9
  219. #define CBS_MIXEDHOT 10
  220. #define CBS_MIXEDPRESSED 11
  221. #define CBS_MIXEDDISABLED 12
  222. // ScrollBar parts
  223. #define SBP_ARROWBTN 1
  224. #define SBP_THUMBBTNHORZ 2
  225. #define SBP_THUMBBTNVERT 3
  226. #define SBP_LOWERTRACKHORZ 4
  227. #define SBP_UPPERTRACKHORZ 5
  228. #define SBP_LOWERTRACKVERT 6
  229. #define SBP_UPPERTRACKVERT 7
  230. #define SBP_GRIPPERHORZ 8
  231. #define SBP_GRIPPERVERT 9
  232. #define SBP_SIZEBOX 10
  233. // ArrowBtn states
  234. #define ABS_UPNORMAL 1
  235. #define ABS_UPHOT 2
  236. #define ABS_UPPRESSED 3
  237. #define ABS_UPDISABLED 4
  238. #define ABS_DOWNNORMAL 5
  239. #define ABS_DOWNHOT 6
  240. #define ABS_DOWNPRESSED 7
  241. #define ABS_DOWNDISABLED 8
  242. #define ABS_LEFTNORMAL 9
  243. #define ABS_LEFTHOT 10
  244. #define ABS_LEFTPRESSED 11
  245. #define ABS_LEFTDISABLED 12
  246. #define ABS_RIGHTNORMAL 13
  247. #define ABS_RIGHTHOT 14
  248. #define ABS_RIGHTPRESSED 15
  249. #define ABS_RIGHTDISABLED 16
  250. // ScrollBar states
  251. #define SCRBS_NORMAL 1
  252. #define SCRBS_HOT 2
  253. #define SCRBS_PRESSED 3
  254. #define SCRBS_DISABLED 4
  255. // SizeBox states
  256. #define SZB_RIGHTALIGN 1
  257. #define SZB_LEFTALIGN 2
  258. // Toolbar parts
  259. #define TP_BUTTON 1
  260. #define TP_DROPDOWNBUTTON 2
  261. #define TP_SPLITBUTTON 3
  262. #define TP_SPLITBUTTONDROPDOWN 4
  263. #define TP_SEPARATOR 5
  264. #define TP_SEPARATORVERT 6
  265. // Toolbar states
  266. #define TS_NORMAL 1
  267. #define TS_HOT 2
  268. #define TS_PRESSED 3
  269. #define TS_DISABLED 4
  270. #define TS_CHECKED 5
  271. #define TS_HOTCHECKED 6
  272. #endif // DIRECTUIPP_IGNORESYSDEF
  273. #endif // DUI_INC_DIRECTUIPP_H_INCLUDED