Francois Gouget : comctl32: Update the PROPSHEET{HEADER, PAGE} structures and add some PSH_XXX macros.
Alexandre Julliard
julliard at winehq.org
Thu Sep 8 14:52:11 CDT 2011
Module: wine
Branch: master
Commit: f981e351275976523fcd27576287cd8054ff3ae3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f981e351275976523fcd27576287cd8054ff3ae3
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Thu Sep 8 00:33:03 2011 +0200
comctl32: Update the PROPSHEET{HEADER,PAGE} structures and add some PSH_XXX macros.
Also add the compatibility PROPSHEET*_SIZE macros.
---
include/prsht.h | 111 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 86 insertions(+), 25 deletions(-)
diff --git a/include/prsht.h b/include/prsht.h
index 0830757..d538c8e 100644
--- a/include/prsht.h
+++ b/include/prsht.h
@@ -59,57 +59,84 @@ 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;
DWORD dwFlags;
- HINSTANCE hInstance;
+ HINSTANCE hInstance;
union
{
- LPCSTR pszTemplate;
- LPCDLGTEMPLATEA pResource;
- }DUMMYUNIONNAME;
+ LPCSTR pszTemplate;
+ PROPSHEETPAGE_RESOURCEA pResource;
+ } DUMMYUNIONNAME;
union
{
HICON hIcon;
- LPCSTR pszIcon;
- }DUMMYUNIONNAME2;
+ LPCSTR pszIcon;
+ } DUMMYUNIONNAME2;
LPCSTR pszTitle;
- DLGPROC pfnDlgProc;
+ DLGPROC pfnDlgProc;
LPARAM lParam;
- LPFNPSPCALLBACKA pfnCallback;
- UINT* pcRefParent;
+ LPFNPSPCALLBACKA pfnCallback;
+ UINT* pcRefParent;
LPCSTR pszHeaderTitle;
LPCSTR pszHeaderSubTitle;
-} PROPSHEETPAGEA, *LPPROPSHEETPAGEA;
-
-typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
+ HANDLE hActCtx;
+ union
+ {
+ HBITMAP hbmHeader;
+ LPCSTR pszbmHeader;
+ } DUMMYUNIONNAME3;
+} PROPSHEETPAGEA, *LPPROPSHEETPAGEA,
+ PROPSHEETPAGEA_LATEST, *LPPROPSHEETPAGEA_LATEST;
+
+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
{
- DWORD dwSize;
- DWORD dwFlags;
- HINSTANCE hInstance;
+ DWORD dwSize;
+ DWORD dwFlags;
+ HINSTANCE hInstance;
union
{
- LPCWSTR pszTemplate;
- LPCDLGTEMPLATEW pResource;
- }DUMMYUNIONNAME;
+ LPCWSTR pszTemplate;
+ PROPSHEETPAGE_RESOURCEW pResource;
+ } DUMMYUNIONNAME;
union
{
HICON hIcon;
- LPCWSTR pszIcon;
- }DUMMYUNIONNAME2;
+ LPCWSTR pszIcon;
+ } DUMMYUNIONNAME2;
LPCWSTR pszTitle;
- DLGPROC pfnDlgProc;
+ DLGPROC pfnDlgProc;
LPARAM lParam;
- LPFNPSPCALLBACKW pfnCallback;
- UINT* pcRefParent;
+ LPFNPSPCALLBACKW pfnCallback;
+ 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
More information about the wine-cvs
mailing list