windows-nt/Source/XPSP1/NT/public/internal/windows/inc/duser/directuipp.h
2020-09-26 16:20:57 +08:00

313 lines
9.1 KiB
C

/*
* DirectUI UI file pre-process header
*/
#ifndef DUI_INC_DIRECTUIPP_H_INCLUDED
#define DUI_INC_DIRECTUIPP_H_INCLUDED
/*
* NOTE: Various system #defines are replicated here for 2 reasons:
* 1) Preprocessing a file like winuser.h results in a huge UIPP file
* 2) The resultant UIPP file cannot be parsed by DUI due to function prototypes
*/
/*
* SYSMETRIC: Retrieves system dependent information (integer values)
*
* Can use GetSystemMetrics() SM_* values plus DirectUI-specific values
* as argument
*/
#ifndef DIRECTUIPP_IGNORESYSDEF
// GetSystemMetrics()
#define SM_CXSCREEN 0
#define SM_CYSCREEN 1
#define SM_CXVSCROLL 2
#define SM_CYHSCROLL 3
#define SM_CYCAPTION 4
#define SM_CXBORDER 5
#define SM_CYBORDER 6
#define SM_CXDLGFRAME 7
#define SM_CYDLGFRAME 8
#define SM_CYVTHUMB 9
#define SM_CXHTHUMB 10
#define SM_CXICON 11
#define SM_CYICON 12
#define SM_CXCURSOR 13
#define SM_CYCURSOR 14
#define SM_CYMENU 15
#define SM_CXFULLSCREEN 16
#define SM_CYFULLSCREEN 17
#define SM_CYKANJIWINDOW 18
#define SM_MOUSEPRESENT 19
#define SM_CYVSCROLL 20
#define SM_CXHSCROLL 21
#define SM_DEBUG 22
#define SM_SWAPBUTTON 23
#define SM_RESERVED1 24
#define SM_RESERVED2 25
#define SM_RESERVED3 26
#define SM_RESERVED4 27
#define SM_CXMIN 28
#define SM_CYMIN 29
#define SM_CXSIZE 30
#define SM_CYSIZE 31
#define SM_CXFRAME 32
#define SM_CYFRAME 33
#define SM_CXMINTRACK 34
#define SM_CYMINTRACK 35
#define SM_CXDOUBLECLK 36
#define SM_CYDOUBLECLK 37
#define SM_CXICONSPACING 38
#define SM_CYICONSPACING 39
#define SM_MENUDROPALIGNMENT 40
#define SM_PENWINDOWS 41
#define SM_DBCSENABLED 42
#define SM_CMOUSEBUTTONS 43
#define SM_CXFIXEDFRAME SM_CXDLGFRAME
#define SM_CYFIXEDFRAME SM_CYDLGFRAME
#define SM_CXSIZEFRAME SM_CXFRAME
#define SM_CYSIZEFRAME SM_CYFRAME
#define SM_SECURE 44
#define SM_CXEDGE 45
#define SM_CYEDGE 46
#define SM_CXMINSPACING 47
#define SM_CYMINSPACING 48
#define SM_CXSMICON 49
#define SM_CYSMICON 50
#define SM_CYSMCAPTION 51
#define SM_CXSMSIZE 52
#define SM_CYSMSIZE 53
#define SM_CXMENUSIZE 54
#define SM_CYMENUSIZE 55
#define SM_ARRANGE 56
#define SM_CXMINIMIZED 57
#define SM_CYMINIMIZED 58
#define SM_CXMAXTRACK 59
#define SM_CYMAXTRACK 60
#define SM_CXMAXIMIZED 61
#define SM_CYMAXIMIZED 62
#define SM_NETWORK 63
#define SM_CLEANBOOT 67
#define SM_CXDRAG 68
#define SM_CYDRAG 69
#define SM_SHOWSOUNDS 70
#define SM_CXMENUCHECK 71
#define SM_CYMENUCHECK 72
#define SM_SLOWMACHINE 73
#define SM_MIDEASTENABLED 74
#define SM_MOUSEWHEELPRESENT 75
#define SM_XVIRTUALSCREEN 76
#define SM_YVIRTUALSCREEN 77
#define SM_CXVIRTUALSCREEN 78
#define SM_CYVIRTUALSCREEN 79
#define SM_CMONITORS 80
#define SM_SAMEDISPLAYFORMAT 81
#define SM_CMETRICS 83
#endif // DIRECTUIPP_IGNORESYSDEF
#define DSM_NCMAX -1
#define DSM_CAPTIONFONTSIZE -1
#define DSM_CAPTIONFONTWEIGHT -2
#define DSM_CAPTIONFONTSTYLE -3
#define DSM_MENUFONTSIZE -4
#define DSM_MENUFONTWEIGHT -5
#define DSM_MENUFONTSTYLE -6
#define DSM_MESSAGEFONTSIZE -7
#define DSM_MESSAGEFONTWEIGHT -8
#define DSM_MESSAGEFONTSTYLE -9
#define DSM_SMCAPTIONFONTSIZE -10
#define DSM_SMCAPTIONFONTWEIGHT -11
#define DSM_SMCAPTIONFONTSTYLE -12
#define DSM_STATUSFONTSIZE -13
#define DSM_STATUSFONTWEIGHT -14
#define DSM_STATUSFONTSTYLE -15
#define DSM_NCMIN -15
#define DSM_ICMAX -16
#define DSM_ICONFONTSIZE -16
#define DSM_ICONFONTWEIGHT -17
#define DSM_ICONFONTSTYLE -18
#define DSM_ICMIN -18
/*
* SYSMETRICSTR: Retrieves system dependent information (string values)
*
* Can use DirectUI-specific values as argument
*/
#define DSMS_NCMIN 1
#define DSMS_CAPTIONFONTFACE 1
#define DSMS_MENUFONTFACE 2
#define DSMS_MESSAGEFONTFACE 3
#define DSMS_SMCAPTIONFONTFACE 4
#define DSMS_STATUSFONTFACE 5
#define DSMS_NCMAX 5
#define DSMS_ICMIN 6
#define DSMS_ICONFONTFACE 6
#define DSMS_ICMAX 6
#ifndef DIRECTUIPP_IGNORESYSDEF
/*
* DrawFrameControl
*/
#define DFC_CAPTION 1
#define DFC_MENU 2
#define DFC_SCROLL 3
#define DFC_BUTTON 4
#define DFC_POPUPMENU 5
#define DFCS_CAPTIONCLOSE 0x0000
#define DFCS_CAPTIONMIN 0x0001
#define DFCS_CAPTIONMAX 0x0002
#define DFCS_CAPTIONRESTORE 0x0003
#define DFCS_CAPTIONHELP 0x0004
#define DFCS_MENUARROW 0x0000
#define DFCS_MENUCHECK 0x0001
#define DFCS_MENUBULLET 0x0002
#define DFCS_MENUARROWRIGHT 0x0004
#define DFCS_SCROLLUP 0x0000
#define DFCS_SCROLLDOWN 0x0001
#define DFCS_SCROLLLEFT 0x0002
#define DFCS_SCROLLRIGHT 0x0003
#define DFCS_SCROLLCOMBOBOX 0x0005
#define DFCS_SCROLLSIZEGRIP 0x0008
#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
#define DFCS_BUTTONCHECK 0x0000
#define DFCS_BUTTONRADIOIMAGE 0x0001
#define DFCS_BUTTONRADIOMASK 0x0002
#define DFCS_BUTTONRADIO 0x0004
#define DFCS_BUTTON3STATE 0x0008
#define DFCS_BUTTONPUSH 0x0010
#define DFCS_INACTIVE 0x0100
#define DFCS_PUSHED 0x0200
#define DFCS_CHECKED 0x0400
#define DFCS_TRANSPARENT 0x0800
#define DFCS_HOT 0x1000
#define DFCS_ADJUSTRECT 0x2000
#define DFCS_FLAT 0x4000
#define DFCS_MONO 0x8000
#endif // DIRECTUIPP_IGNORESYSDEF
/*
* Themes Support (from TmSchema.h)
*
* Can't include UxTheme headers directly since they use 'enum'
* instead of #define. So, the preprocessor won't resolve to numbers.
*/
#ifndef DIRECTUIPP_IGNORESYSDEF
// Button parts
#define BP_PUSHBUTTON 1
#define BP_RADIOBUTTON 2
#define BP_GROUPBOX 3
#define BP_CHECKBOX 4
#define BP_USERBUTTON 5
// PushButton states
#define PBS_NORMAL 1
#define PBS_HOT 2
#define PBS_PRESSED 3
#define PBS_DISABLED 4
#define PBS_DEFAULTED 5
// RadioButton states
#define RBS_UNCHECKEDNORMAL 1
#define RBS_UNCHECKEDHOT 2
#define RBS_UNCHECKEDPRESSED 3
#define RBS_UNCHECKEDDISABLED 4
#define RBS_CHECKEDNORMAL 5
#define RBS_CHECKEDHOT 6
#define RBS_CHECKEDPRESSED 7
#define RBS_CHECKEDDISABLED 8
// CheckBox states
#define CBS_UNCHECKEDNORMAL 1
#define CBS_UNCHECKEDHOT 2
#define CBS_UNCHECKEDPRESSED 3
#define CBS_UNCHECKEDDISABLED 4
#define CBS_CHECKEDNORMAL 5
#define CBS_CHECKEDHOT 6
#define CBS_CHECKEDPRESSED 7
#define CBS_CHECKEDDISABLED 8
#define CBS_MIXEDNORMAL 9
#define CBS_MIXEDHOT 10
#define CBS_MIXEDPRESSED 11
#define CBS_MIXEDDISABLED 12
// ScrollBar parts
#define SBP_ARROWBTN 1
#define SBP_THUMBBTNHORZ 2
#define SBP_THUMBBTNVERT 3
#define SBP_LOWERTRACKHORZ 4
#define SBP_UPPERTRACKHORZ 5
#define SBP_LOWERTRACKVERT 6
#define SBP_UPPERTRACKVERT 7
#define SBP_GRIPPERHORZ 8
#define SBP_GRIPPERVERT 9
#define SBP_SIZEBOX 10
// ArrowBtn states
#define ABS_UPNORMAL 1
#define ABS_UPHOT 2
#define ABS_UPPRESSED 3
#define ABS_UPDISABLED 4
#define ABS_DOWNNORMAL 5
#define ABS_DOWNHOT 6
#define ABS_DOWNPRESSED 7
#define ABS_DOWNDISABLED 8
#define ABS_LEFTNORMAL 9
#define ABS_LEFTHOT 10
#define ABS_LEFTPRESSED 11
#define ABS_LEFTDISABLED 12
#define ABS_RIGHTNORMAL 13
#define ABS_RIGHTHOT 14
#define ABS_RIGHTPRESSED 15
#define ABS_RIGHTDISABLED 16
// ScrollBar states
#define SCRBS_NORMAL 1
#define SCRBS_HOT 2
#define SCRBS_PRESSED 3
#define SCRBS_DISABLED 4
// SizeBox states
#define SZB_RIGHTALIGN 1
#define SZB_LEFTALIGN 2
// Toolbar parts
#define TP_BUTTON 1
#define TP_DROPDOWNBUTTON 2
#define TP_SPLITBUTTON 3
#define TP_SPLITBUTTONDROPDOWN 4
#define TP_SEPARATOR 5
#define TP_SEPARATORVERT 6
// Toolbar states
#define TS_NORMAL 1
#define TS_HOT 2
#define TS_PRESSED 3
#define TS_DISABLED 4
#define TS_CHECKED 5
#define TS_HOTCHECKED 6
#endif // DIRECTUIPP_IGNORESYSDEF
#endif // DUI_INC_DIRECTUIPP_H_INCLUDED