comctl32: Update the PROPSHEET{HEADER,PAGE} structures and add some PSH_XXX macros.

Also add the compatibility PROPSHEET*_SIZE macros.
This commit is contained in:
Francois Gouget 2011-09-08 00:33:03 +02:00 committed by Alexandre Julliard
parent 31a24ca7af
commit f981e35127
1 changed files with 85 additions and 24 deletions

View File

@ -59,6 +59,11 @@ typedef BOOL (CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPA
/*
* Property sheet support (structures)
*/
typedef LPCDLGTEMPLATEA PROPSHEETPAGE_RESOURCEA;
typedef LPCDLGTEMPLATEW PROPSHEETPAGE_RESOURCEW;
DECL_WINELIB_TYPE_AW(PROPSHEETPAGE_RESOURCE)
typedef struct _PROPSHEETPAGEA
{
DWORD dwSize;
@ -67,7 +72,7 @@ typedef struct _PROPSHEETPAGEA
union
{
LPCSTR pszTemplate;
LPCDLGTEMPLATEA pResource;
PROPSHEETPAGE_RESOURCEA pResource;
} DUMMYUNIONNAME;
union
{
@ -81,9 +86,20 @@ typedef struct _PROPSHEETPAGEA
UINT* pcRefParent;
LPCSTR pszHeaderTitle;
LPCSTR pszHeaderSubTitle;
} PROPSHEETPAGEA, *LPPROPSHEETPAGEA;
HANDLE hActCtx;
union
{
HBITMAP hbmHeader;
LPCSTR pszbmHeader;
} DUMMYUNIONNAME3;
} PROPSHEETPAGEA, *LPPROPSHEETPAGEA,
PROPSHEETPAGEA_LATEST, *LPPROPSHEETPAGEA_LATEST;
typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA, *LPCPROPSHEETPAGEA_LATEST;
#define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent)
#define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pszHeaderSubTitle)
#define PROPSHEETPAGEA_V3_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, hActCtx)
#define PROPSHEETPAGEA_V4_SIZE sizeof(PROPSHEETHEADERA)
typedef struct _PROPSHEETPAGEW
{
@ -93,7 +109,7 @@ typedef struct _PROPSHEETPAGEW
union
{
LPCWSTR pszTemplate;
LPCDLGTEMPLATEW pResource;
PROPSHEETPAGE_RESOURCEW pResource;
} DUMMYUNIONNAME;
union
{
@ -107,9 +123,20 @@ typedef struct _PROPSHEETPAGEW
UINT* pcRefParent;
LPCWSTR pszHeaderTitle;
LPCWSTR pszHeaderSubTitle;
} PROPSHEETPAGEW, *LPPROPSHEETPAGEW;
HANDLE hActCtx;
union
{
HBITMAP hbmHeader;
LPCWSTR pszbmHeader;
} DUMMYUNIONNAME3;
} PROPSHEETPAGEW, *LPPROPSHEETPAGEW,
PROPSHEETPAGEW_LATEST, *LPPROPSHEETPAGEW_LATEST;
typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW;
typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW, *LPCPROPSHEETPAGEW_LATEST;
#define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent)
#define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pszHeaderSubTitle)
#define PROPSHEETPAGEW_V3_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, hActCtx)
#define PROPSHEETPAGEW_V4_SIZE sizeof(PROPSHEETHEADERA)
typedef struct _PROPSHEETHEADERA
@ -150,6 +177,8 @@ typedef struct _PROPSHEETHEADERA
} PROPSHEETHEADERA, *LPPROPSHEETHEADERA;
typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
#define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback)
#define PROPSHEETHEADERA_V2_SIZE sizeof(PROPSHEETHEADERA)
typedef struct _PROPSHEETHEADERW
{
@ -189,6 +218,8 @@ typedef struct _PROPSHEETHEADERW
} PROPSHEETHEADERW, *LPPROPSHEETHEADERW;
typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
#define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback)
#define PROPSHEETHEADERW_V2_SIZE sizeof(PROPSHEETHEADERW)
/*
@ -214,6 +245,32 @@ DECL_WINELIB_TYPE_AW(LPPROPSHEETHEADER)
DECL_WINELIB_TYPE_AW(LPCPROPSHEETHEADER)
DECL_WINELIB_TYPE_AW(LPFNPSPCALLBACK)
#ifdef WINE_NO_UNICODE_MACROS
# define PRSHT_NAME_AW(base, suffix) \
base##_##suffix##_must_use_W_or_A_in_this_context \
base##_##suffix##_must_use_W_or_A_in_this_context
# define DECL_PRSHT_TYPE_AW(base, suffix) /* nothing */
#else /* WINE_NO_UNICODE_MACROS */
# ifdef UNICODE
# define PRSHT_NAME_AW(base, suffix) base##W_##suffix
# else
# define PRSHT_NAME_AW(base, suffix) base##A_##suffix
# endif
# define DECL_PRSHT_TYPE_AW(base, suffix) typedef PRSHT_NAME_AW(base, suffix) base##_##suffix;
#endif /* WINE_NO_UNICODE_MACROS */
DECL_PRSHT_TYPE_AW(PROPSHEETPAGE, LATEST)
DECL_PRSHT_TYPE_AW(LPPROPSHEETPAGE, LATEST)
DECL_PRSHT_TYPE_AW(LPCPROPSHEETPAGE, LATEST)
#define PROPSHEETPAGE_V1_SIZE PRSHT_NAME_AW(PROPSHEETPAGE, V1_SIZE)
#define PROPSHEETPAGE_V2_SIZE PRSHT_NAME_AW(PROPSHEETPAGE, V2_SIZE)
#define PROPSHEETPAGE_V3_SIZE PRSHT_NAME_AW(PROPSHEETPAGE, V3_SIZE)
#define PROPSHEETPAGE_V4_SIZE PRSHT_NAME_AW(PROPSHEETPAGE, V4_SIZE)
#define PROPSHEETHEADER_V1_SIZE PRSHT_NAME_AW(PROPSHEETHEADER, V1_SIZE)
#define PROPSHEETHEADER_V2_SIZE PRSHT_NAME_AW(PROPSHEETHEADER, V2_SIZE)
#undef PRSHT_NAME_AW
#undef DECL_PRSHT_TYPE_AW
/*
* Property sheet support (defines)
@ -255,6 +312,7 @@ DECL_WINELIB_TYPE_AW(LPFNPSPCALLBACK)
#define PSH_WIZARDCONTEXTHELP 0x00001000
#define PSH_WIZARD97_OLD 0x00002000 /* for IE < 5 */
#define PSH_AEROWIZARD 0x00004000
#define PSH_WATERMARK 0x00008000
#define PSH_USEHBMWATERMARK 0x00010000
#define PSH_USEHPLWATERMARK 0x00020000
@ -265,6 +323,9 @@ DECL_WINELIB_TYPE_AW(LPFNPSPCALLBACK)
#define PSH_WIZARD_LITE 0x00400000
#define PSH_WIZARD97_NEW 0x01000000 /* for IE >= 5 */
#define PSH_NOCONTEXTHELP 0x02000000
#define PSH_RESIZABLE 0x04000000
#define PSH_HEADERBITMAP 0x08000000
#define PSH_NOMARGIN 0x10000000
#ifndef __WINESRC__
# if defined(_WIN32_IE) && (_WIN32_IE < 0x0500)
# define PSH_WIZARD97 PSH_WIZARD97_OLD