Alexandre Julliard | 0799c1a | 2002-03-09 23:29:33 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) the Wine project |
| 3 | * |
| 4 | * This library is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU Lesser General Public |
| 6 | * License as published by the Free Software Foundation; either |
| 7 | * version 2.1 of the License, or (at your option) any later version. |
| 8 | * |
| 9 | * This library is distributed in the hope that it will be useful, |
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 12 | * Lesser General Public License for more details. |
| 13 | * |
| 14 | * You should have received a copy of the GNU Lesser General Public |
| 15 | * License along with this library; if not, write to the Free Software |
Jonathan Ernst | 360a3f9 | 2006-05-18 14:49:52 +0200 | [diff] [blame] | 16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
Alexandre Julliard | 0799c1a | 2002-03-09 23:29:33 +0000 | [diff] [blame] | 17 | */ |
| 18 | |
Patrik Stridvall | 857eb39 | 1999-06-12 18:36:54 +0000 | [diff] [blame] | 19 | #ifndef __WINE_PRSHT_H |
| 20 | #define __WINE_PRSHT_H |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 21 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 22 | #ifdef __cplusplus |
| 23 | extern "C" { |
| 24 | #endif |
| 25 | |
| 26 | |
| 27 | /* |
| 28 | * Property sheet support (callback procs) |
| 29 | */ |
| 30 | |
| 31 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 32 | #define WC_PROPSHEETA "SysPropertySheet" |
Dmitry Timoshkov | a9c057f | 2002-09-16 19:29:36 +0000 | [diff] [blame] | 33 | #if defined(__GNUC__) |
| 34 | # define WC_PROPSHEETW (const WCHAR []){ 'S','y','s', \ |
| 35 | 'P','r','o','p','e','r','t','y','S','h','e','e','t',0 } |
| 36 | #elif defined(_MSC_VER) |
| 37 | # define WC_PROPSHEETW L"SysPropertySheet" |
| 38 | #else |
Jon Griffiths | 7a6bad8 | 2001-01-22 02:13:58 +0000 | [diff] [blame] | 39 | static const WCHAR WC_PROPSHEETW[] = { 'S','y','s', |
| 40 | 'P','r','o','p','e','r','t','y','S','h','e','e','t',0 }; |
Dmitry Timoshkov | a9c057f | 2002-09-16 19:29:36 +0000 | [diff] [blame] | 41 | #endif |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 42 | #define WC_PROPSHEET WINELIB_NAME_AW(WC_PROPSHEET) |
| 43 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 44 | struct _PROPSHEETPAGEA; /** need to forward declare those structs **/ |
| 45 | struct _PROPSHEETPAGEW; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 46 | struct _PSP; |
| 47 | typedef struct _PSP *HPROPSHEETPAGE; |
| 48 | |
| 49 | |
Patrik Stridvall | f94462f | 2002-01-31 23:22:07 +0000 | [diff] [blame] | 50 | typedef UINT (CALLBACK *LPFNPSPCALLBACKA)(HWND, UINT, struct _PROPSHEETPAGEA*); |
| 51 | typedef UINT (CALLBACK *LPFNPSPCALLBACKW)(HWND, UINT, struct _PROPSHEETPAGEW*); |
| 52 | typedef INT (CALLBACK *PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM); |
| 53 | typedef BOOL (CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM); |
| 54 | typedef BOOL (CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM); |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 55 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 56 | /* |
| 57 | * Property sheet support (structures) |
| 58 | */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 59 | typedef struct _PROPSHEETPAGEA |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 60 | { |
| 61 | DWORD dwSize; |
| 62 | DWORD dwFlags; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 63 | HINSTANCE hInstance; |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 64 | union |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 65 | { |
| 66 | LPCSTR pszTemplate; |
Bertho Stultiens | dbf9fba | 1999-03-13 17:09:13 +0000 | [diff] [blame] | 67 | LPCDLGTEMPLATEA pResource; |
Peter Hunnisett | 565b008 | 2000-09-19 02:43:00 +0000 | [diff] [blame] | 68 | }DUMMYUNIONNAME; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 69 | union |
| 70 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 71 | HICON hIcon; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 72 | LPCSTR pszIcon; |
| 73 | }DUMMYUNIONNAME2; |
| 74 | LPCSTR pszTitle; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 75 | DLGPROC pfnDlgProc; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 76 | LPARAM lParam; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 77 | LPFNPSPCALLBACKA pfnCallback; |
| 78 | UINT* pcRefParent; |
Francois Gouget | d068b3f | 2000-10-13 17:10:24 +0000 | [diff] [blame] | 79 | LPCSTR pszHeaderTitle; |
| 80 | LPCSTR pszHeaderSubTitle; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 81 | } PROPSHEETPAGEA, *LPPROPSHEETPAGEA; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 82 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 83 | typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 84 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 85 | typedef struct _PROPSHEETPAGEW |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 86 | { |
| 87 | DWORD dwSize; |
| 88 | DWORD dwFlags; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 89 | HINSTANCE hInstance; |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 90 | union |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 91 | { |
| 92 | LPCWSTR pszTemplate; |
Bertho Stultiens | dbf9fba | 1999-03-13 17:09:13 +0000 | [diff] [blame] | 93 | LPCDLGTEMPLATEW pResource; |
Peter Hunnisett | 565b008 | 2000-09-19 02:43:00 +0000 | [diff] [blame] | 94 | }DUMMYUNIONNAME; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 95 | union |
| 96 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 97 | HICON hIcon; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 98 | LPCWSTR pszIcon; |
| 99 | }DUMMYUNIONNAME2; |
| 100 | LPCWSTR pszTitle; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 101 | DLGPROC pfnDlgProc; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 102 | LPARAM lParam; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 103 | LPFNPSPCALLBACKW pfnCallback; |
| 104 | UINT* pcRefParent; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 105 | LPCWSTR pszHeaderTitle; |
| 106 | LPCWSTR pszHeaderSubTitle; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 107 | } PROPSHEETPAGEW, *LPPROPSHEETPAGEW; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 108 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 109 | typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 110 | |
| 111 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 112 | typedef struct _PROPSHEETHEADERA |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 113 | { |
| 114 | DWORD dwSize; |
| 115 | DWORD dwFlags; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 116 | HWND hwndParent; |
| 117 | HINSTANCE hInstance; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 118 | union |
| 119 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 120 | HICON hIcon; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 121 | LPCSTR pszIcon; |
Peter Hunnisett | 565b008 | 2000-09-19 02:43:00 +0000 | [diff] [blame] | 122 | }DUMMYUNIONNAME; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 123 | LPCSTR pszCaption; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 124 | UINT nPages; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 125 | union |
| 126 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 127 | UINT nStartPage; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 128 | LPCSTR pStartPage; |
| 129 | }DUMMYUNIONNAME2; |
| 130 | union |
| 131 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 132 | LPCPROPSHEETPAGEA ppsp; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 133 | HPROPSHEETPAGE* phpage; |
| 134 | }DUMMYUNIONNAME3; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 135 | PFNPROPSHEETCALLBACK pfnCallback; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 136 | union |
| 137 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 138 | HBITMAP hbmWatermark; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 139 | LPCSTR pszbmWatermark; |
| 140 | }DUMMYUNIONNAME4; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 141 | HPALETTE hplWatermark; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 142 | union |
| 143 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 144 | HBITMAP hbmHeader; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 145 | LPCSTR pszbmHeader; |
| 146 | }DUMMYUNIONNAME5; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 147 | } PROPSHEETHEADERA, *LPPROPSHEETHEADERA; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 148 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 149 | typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 150 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 151 | typedef struct _PROPSHEETHEADERW |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 152 | { |
| 153 | DWORD dwSize; |
| 154 | DWORD dwFlags; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 155 | HWND hwndParent; |
| 156 | HINSTANCE hInstance; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 157 | union |
| 158 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 159 | HICON hIcon; |
Alexandre Julliard | d328085 | 2002-01-29 17:14:53 +0000 | [diff] [blame] | 160 | LPCWSTR pszIcon; |
| 161 | }DUMMYUNIONNAME; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 162 | LPCWSTR pszCaption; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 163 | UINT nPages; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 164 | union |
| 165 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 166 | UINT nStartPage; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 167 | LPCWSTR pStartPage; |
| 168 | }DUMMYUNIONNAME2; |
| 169 | union |
| 170 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 171 | LPCPROPSHEETPAGEW ppsp; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 172 | HPROPSHEETPAGE* phpage; |
| 173 | }DUMMYUNIONNAME3; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 174 | PFNPROPSHEETCALLBACK pfnCallback; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 175 | union |
| 176 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 177 | HBITMAP hbmWatermark; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 178 | LPCWSTR pszbmWatermark; |
| 179 | }DUMMYUNIONNAME4; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 180 | HPALETTE hplWatermark; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 181 | union |
| 182 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 183 | HBITMAP hbmHeader; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 184 | LPCWSTR pszbmHeader; |
| 185 | }DUMMYUNIONNAME5; |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 186 | } PROPSHEETHEADERW, *LPPROPSHEETHEADERW; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 187 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 188 | typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW; |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 189 | |
| 190 | |
| 191 | /* |
| 192 | * Property sheet support (methods) |
| 193 | */ |
Frank Richter | 9e57091 | 2005-08-30 10:07:17 +0000 | [diff] [blame] | 194 | INT_PTR WINAPI PropertySheetA(LPCPROPSHEETHEADERA); |
| 195 | INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW); |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 196 | #define PropertySheet WINELIB_NAME_AW(PropertySheet) |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 197 | HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA); |
| 198 | HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW); |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 199 | #define CreatePropertySheetPage WINELIB_NAME_AW(CreatePropertySheetPage) |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 200 | BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage); |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 201 | |
| 202 | /* |
Francois Gouget | e550ebe | 2000-12-02 20:17:13 +0000 | [diff] [blame] | 203 | * Property sheet support (UNICODE-Winelib) |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 204 | */ |
| 205 | |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 206 | DECL_WINELIB_TYPE_AW(PROPSHEETPAGE) |
| 207 | DECL_WINELIB_TYPE_AW(LPPROPSHEETPAGE) |
| 208 | DECL_WINELIB_TYPE_AW(LPCPROPSHEETPAGE) |
| 209 | DECL_WINELIB_TYPE_AW(PROPSHEETHEADER) |
| 210 | DECL_WINELIB_TYPE_AW(LPPROPSHEETHEADER) |
| 211 | DECL_WINELIB_TYPE_AW(LPCPROPSHEETHEADER) |
| 212 | DECL_WINELIB_TYPE_AW(LPFNPSPCALLBACK) |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 213 | |
| 214 | |
| 215 | /* |
| 216 | * Property sheet support (defines) |
| 217 | */ |
| 218 | #define PSP_DEFAULT 0x0000 |
| 219 | #define PSP_DLGINDIRECT 0x0001 |
| 220 | #define PSP_USEHICON 0x0002 |
| 221 | #define PSP_USEICONID 0x0004 |
| 222 | #define PSP_USETITLE 0x0008 |
| 223 | #define PSP_RTLREADING 0x0010 |
| 224 | |
| 225 | #define PSP_HASHELP 0x0020 |
| 226 | #define PSP_USEREFPARENT 0x0040 |
| 227 | #define PSP_USECALLBACK 0x0080 |
Alexandre Julliard | 08afc1a | 1999-11-28 21:01:47 +0000 | [diff] [blame] | 228 | #define PSP_PREMATURE 0x0400 |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 229 | |
Alexandre Julliard | 08afc1a | 1999-11-28 21:01:47 +0000 | [diff] [blame] | 230 | #define PSP_HIDEHEADER 0x00000800 |
| 231 | #define PSP_USEHEADERTITLE 0x00001000 |
| 232 | #define PSP_USEHEADERSUBTITLE 0x00002000 |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 233 | |
| 234 | #define PSPCB_RELEASE 1 |
| 235 | #define PSPCB_CREATE 2 |
| 236 | |
| 237 | #define PSH_DEFAULT 0x0000 |
| 238 | #define PSH_PROPTITLE 0x0001 |
| 239 | #define PSH_USEHICON 0x0002 |
| 240 | #define PSH_USEICONID 0x0004 |
| 241 | #define PSH_PROPSHEETPAGE 0x0008 |
Alexandre Julliard | d328085 | 2002-01-29 17:14:53 +0000 | [diff] [blame] | 242 | #define PSH_WIZARDHASFINISH 0x0010 |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 243 | #define PSH_WIZARD 0x0020 |
| 244 | #define PSH_USEPSTARTPAGE 0x0040 |
| 245 | #define PSH_NOAPPLYNOW 0x0080 |
| 246 | #define PSH_USECALLBACK 0x0100 |
| 247 | #define PSH_HASHELP 0x0200 |
| 248 | #define PSH_MODELESS 0x0400 |
| 249 | #define PSH_RTLREADING 0x0800 |
Alexandre Julliard | 08afc1a | 1999-11-28 21:01:47 +0000 | [diff] [blame] | 250 | #define PSH_WIZARDCONTEXTHELP 0x00001000 |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 251 | |
Francois Gouget | 3db0008 | 2002-12-06 23:19:54 +0000 | [diff] [blame] | 252 | #define PSH_WIZARD97_OLD 0x00002000 /* for IE < 5 */ |
Alexandre Julliard | 08afc1a | 1999-11-28 21:01:47 +0000 | [diff] [blame] | 253 | #define PSH_WATERMARK 0x00008000 |
| 254 | #define PSH_USEHBMWATERMARK 0x00010000 |
| 255 | #define PSH_USEHPLWATERMARK 0x00020000 |
| 256 | #define PSH_STRETCHWATERMARK 0x00040000 |
| 257 | #define PSH_HEADER 0x00080000 |
| 258 | #define PSH_USEHBMHEADER 0x00100000 |
| 259 | #define PSH_USEPAGELANG 0x00200000 |
Alexandre Julliard | d328085 | 2002-01-29 17:14:53 +0000 | [diff] [blame] | 260 | #define PSH_WIZARD_LITE 0x00400000 |
Francois Gouget | 3db0008 | 2002-12-06 23:19:54 +0000 | [diff] [blame] | 261 | #define PSH_WIZARD97_NEW 0x01000000 /* for IE >= 5 */ |
Alexandre Julliard | d328085 | 2002-01-29 17:14:53 +0000 | [diff] [blame] | 262 | #define PSH_NOCONTEXTHELP 0x02000000 |
Dimitrie O. Paun | 8b36681 | 2003-01-04 00:52:18 +0000 | [diff] [blame] | 263 | #ifndef __WINESRC__ |
Francois Gouget | 3db0008 | 2002-12-06 23:19:54 +0000 | [diff] [blame] | 264 | # if _WIN32_IE < 0x0500 |
| 265 | # define PSH_WIZARD97 PSH_WIZARD97_OLD |
| 266 | # else |
| 267 | # define PSH_WIZARD97 PSH_WIZARD97_NEW |
| 268 | # endif |
| 269 | #endif |
Alexandre Julliard | d328085 | 2002-01-29 17:14:53 +0000 | [diff] [blame] | 270 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 271 | #define PSCB_INITIALIZED 1 |
| 272 | #define PSCB_PRECREATE 2 |
| 273 | |
Alexandre Julliard | 08afc1a | 1999-11-28 21:01:47 +0000 | [diff] [blame] | 274 | typedef struct _PSHNOTIFY |
| 275 | { |
| 276 | NMHDR hdr; |
| 277 | LPARAM lParam; |
| 278 | } PSHNOTIFY, *LPPSHNOTIFY; |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 279 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 280 | #define PSN_FIRST (0U-200U) |
| 281 | #define PSN_LAST (0U-299U) |
| 282 | |
| 283 | |
| 284 | #define PSN_SETACTIVE (PSN_FIRST-0) |
| 285 | #define PSN_KILLACTIVE (PSN_FIRST-1) |
| 286 | /* #define PSN_VALIDATE (PSN_FIRST-1) */ |
| 287 | #define PSN_APPLY (PSN_FIRST-2) |
| 288 | #define PSN_RESET (PSN_FIRST-3) |
| 289 | /* #define PSN_CANCEL (PSN_FIRST-3) */ |
| 290 | #define PSN_HELP (PSN_FIRST-5) |
| 291 | #define PSN_WIZBACK (PSN_FIRST-6) |
| 292 | #define PSN_WIZNEXT (PSN_FIRST-7) |
| 293 | #define PSN_WIZFINISH (PSN_FIRST-8) |
| 294 | #define PSN_QUERYCANCEL (PSN_FIRST-9) |
Francois Gouget | a0e61ec | 2001-01-22 19:25:05 +0000 | [diff] [blame] | 295 | #define PSN_GETOBJECT (PSN_FIRST-10) |
Mike McCormack | 65e4823 | 2004-08-16 20:00:26 +0000 | [diff] [blame] | 296 | #define PSN_TRANSLATEACCELERATOR (PSN_FIRST-12) |
| 297 | #define PSN_QUERYINITIALFOCUS (PSN_FIRST-13) |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 298 | |
| 299 | #define PSNRET_NOERROR 0 |
| 300 | #define PSNRET_INVALID 1 |
| 301 | #define PSNRET_INVALID_NOCHANGEPAGE 2 |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 302 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 303 | |
| 304 | #define PSM_SETCURSEL (WM_USER + 101) |
| 305 | #define PSM_REMOVEPAGE (WM_USER + 102) |
| 306 | #define PSM_ADDPAGE (WM_USER + 103) |
| 307 | #define PSM_CHANGED (WM_USER + 104) |
| 308 | #define PSM_RESTARTWINDOWS (WM_USER + 105) |
| 309 | #define PSM_REBOOTSYSTEM (WM_USER + 106) |
| 310 | #define PSM_CANCELTOCLOSE (WM_USER + 107) |
| 311 | #define PSM_QUERYSIBLINGS (WM_USER + 108) |
| 312 | #define PSM_UNCHANGED (WM_USER + 109) |
| 313 | #define PSM_APPLY (WM_USER + 110) |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 314 | #define PSM_SETTITLEA (WM_USER + 111) |
| 315 | #define PSM_SETTITLEW (WM_USER + 120) |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 316 | #define PSM_SETTITLE WINELIB_NAME_AW(PSM_SETTITLE) |
| 317 | #define PSM_SETWIZBUTTONS (WM_USER + 112) |
| 318 | #define PSM_PRESSBUTTON (WM_USER + 113) |
| 319 | #define PSM_SETCURSELID (WM_USER + 114) |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 320 | #define PSM_SETFINISHTEXTA (WM_USER + 115) |
| 321 | #define PSM_SETFINISHTEXTW (WM_USER + 121) |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 322 | #define PSM_SETFINISHTEXT WINELIB_NAME_AW(PSM_SETFINISHTEXT) |
| 323 | #define PSM_GETTABCONTROL (WM_USER + 116) |
| 324 | #define PSM_ISDIALOGMESSAGE (WM_USER + 117) |
| 325 | #define PSM_GETCURRENTPAGEHWND (WM_USER + 118) |
Robert Shearman | 02d1572 | 2004-07-12 20:43:36 +0000 | [diff] [blame] | 326 | #define PSM_INSERTPAGE (WM_USER + 119) |
| 327 | #define PSM_SETHEADERTITLEA (WM_USER + 125) |
| 328 | #define PSM_SETHEADERTITLEW (WM_USER + 126) |
| 329 | #define PSM_SETHEADERTITLE WINELIB_NAME_AW(PSM_SETHEADERTITLE) |
| 330 | #define PSM_SETHEADERSUBTITLEA (WM_USER + 127) |
| 331 | #define PSM_SETHEADERSUBTITLEW (WM_USER + 128) |
| 332 | #define PSM_SETHEADERSUBTITLE WINELIB_NAME_AW(PSM_SETHEADERSUBTITLE) |
| 333 | #define PSM_HWNDTOINDEX (WM_USER + 129) |
| 334 | #define PSM_INDEXTOHWND (WM_USER + 130) |
| 335 | #define PSM_PAGETOINDEX (WM_USER + 131) |
| 336 | #define PSM_INDEXTOPAGE (WM_USER + 132) |
| 337 | #define PSM_IDTOINDEX (WM_USER + 133) |
| 338 | #define PSM_INDEXTOID (WM_USER + 134) |
| 339 | #define PSM_GETRESULT (WM_USER + 135) |
| 340 | #define PSM_RECALCPAGESIZES (WM_USER + 136) |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 341 | |
| 342 | #define PSWIZB_BACK 0x00000001 |
| 343 | #define PSWIZB_NEXT 0x00000002 |
| 344 | #define PSWIZB_FINISH 0x00000004 |
| 345 | #define PSWIZB_DISABLEDFINISH 0x00000008 |
| 346 | |
| 347 | #define PSBTN_BACK 0 |
| 348 | #define PSBTN_NEXT 1 |
| 349 | #define PSBTN_FINISH 2 |
| 350 | #define PSBTN_OK 3 |
| 351 | #define PSBTN_APPLYNOW 4 |
| 352 | #define PSBTN_CANCEL 5 |
| 353 | #define PSBTN_HELP 6 |
| 354 | #define PSBTN_MAX 6 |
| 355 | |
| 356 | #define ID_PSRESTARTWINDOWS 0x2 |
| 357 | #define ID_PSREBOOTSYSTEM (ID_PSRESTARTWINDOWS | 0x1) |
| 358 | |
| 359 | |
| 360 | #define WIZ_CXDLG 276 |
| 361 | #define WIZ_CYDLG 140 |
| 362 | |
| 363 | #define WIZ_CXBMP 80 |
| 364 | |
| 365 | #define WIZ_BODYX 92 |
| 366 | #define WIZ_BODYCX 184 |
| 367 | |
| 368 | #define PROP_SM_CXDLG 212 |
| 369 | #define PROP_SM_CYDLG 188 |
| 370 | |
| 371 | #define PROP_MED_CXDLG 227 |
| 372 | #define PROP_MED_CYDLG 215 |
| 373 | |
| 374 | #define PROP_LG_CXDLG 252 |
| 375 | #define PROP_LG_CYDLG 218 |
| 376 | |
| 377 | /* |
| 378 | * Property sheet support (macros) |
| 379 | */ |
| 380 | |
| 381 | #define PropSheet_SetCurSel(hDlg, hpage, index) \ |
Francois Gouget | 3805ed5 | 1999-03-13 18:15:29 +0000 | [diff] [blame] | 382 | SendMessageA(hDlg, PSM_SETCURSEL, (WPARAM)index, (LPARAM)hpage) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 383 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 384 | #define PropSheet_RemovePage(hDlg, index, hpage) \ |
| 385 | SNDMSG(hDlg, PSM_REMOVEPAGE, index, (LPARAM)hpage) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 386 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 387 | #define PropSheet_AddPage(hDlg, hpage) \ |
| 388 | SNDMSG(hDlg, PSM_ADDPAGE, 0, (LPARAM)hpage) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 389 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 390 | #define PropSheet_Changed(hDlg, hwnd) \ |
| 391 | SNDMSG(hDlg, PSM_CHANGED, (WPARAM)hwnd, 0L) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 392 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 393 | #define PropSheet_RestartWindows(hDlg) \ |
| 394 | SNDMSG(hDlg, PSM_RESTARTWINDOWS, 0, 0L) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 395 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 396 | #define PropSheet_RebootSystem(hDlg) \ |
| 397 | SNDMSG(hDlg, PSM_REBOOTSYSTEM, 0, 0L) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 398 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 399 | #define PropSheet_CancelToClose(hDlg) \ |
| 400 | PostMessage(hDlg, PSM_CANCELTOCLOSE, 0, 0L) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 401 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 402 | #define PropSheet_QuerySiblings(hDlg, wParam, lParam) \ |
| 403 | SNDMSG(hDlg, PSM_QUERYSIBLINGS, wParam, lParam) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 404 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 405 | #define PropSheet_UnChanged(hDlg, hwnd) \ |
| 406 | SNDMSG(hDlg, PSM_UNCHANGED, (WPARAM)hwnd, 0L) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 407 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 408 | #define PropSheet_Apply(hDlg) \ |
| 409 | SNDMSG(hDlg, PSM_APPLY, 0, 0L) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 410 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 411 | #define PropSheet_SetTitle(hDlg, wStyle, lpszText)\ |
| 412 | SNDMSG(hDlg, PSM_SETTITLE, wStyle, (LPARAM)(LPCTSTR)lpszText) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 413 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 414 | #define PropSheet_SetWizButtons(hDlg, dwFlags) \ |
| 415 | PostMessage(hDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)dwFlags) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 416 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 417 | #define PropSheet_PressButton(hDlg, iButton) \ |
| 418 | PostMessage(hDlg, PSM_PRESSBUTTON, (WPARAM)iButton, 0) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 419 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 420 | #define PropSheet_SetCurSelByID(hDlg, id) \ |
| 421 | SNDMSG(hDlg, PSM_SETCURSELID, 0, (LPARAM)id) |
| 422 | |
| 423 | #define PropSheet_SetFinishText(hDlg, lpszText) \ |
| 424 | SNDMSG(hDlg, PSM_SETFINISHTEXT, 0, (LPARAM)lpszText) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 425 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 426 | #define PropSheet_GetTabControl(hDlg) \ |
| 427 | (HWND)SNDMSG(hDlg, PSM_GETTABCONTROL, 0, 0) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 428 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 429 | #define PropSheet_IsDialogMessage(hDlg, pMsg) \ |
| 430 | (BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)pMsg) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 431 | |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 432 | #define PropSheet_GetCurrentPageHwnd(hDlg) \ |
| 433 | (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L) |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 434 | |
Robert Shearman | 02d1572 | 2004-07-12 20:43:36 +0000 | [diff] [blame] | 435 | #define PropSheet_InsertPage(hDlg, index, hpage) \ |
| 436 | SNDMSG(hDlg, PSM_INSERTPAGE, (WPARAM)(index), (LPARAM)(hpage)) |
| 437 | |
| 438 | #define PropSheet_SetHeaderTitle(hDlg, index, lpszText) \ |
| 439 | SNDMSG(hDlg, PSM_SETHEADERTITLE, (WPARAM)(index), (LPARAM)(lpszText)) |
| 440 | |
| 441 | #define PropSheet_SetHeaderSubTitle(hDlg, index, lpszText) \ |
| 442 | SNDMSG(hDlg, PSM_SETHEADERSUBTITLE, (WPARAM)(index), (LPARAM)(lpszText)) |
| 443 | |
| 444 | #define PropSheet_HwndToIndex(hDlg, hwnd) \ |
| 445 | (int)SNDMSG(hDlg, PSM_HWNDTOINDEX, (WPARAM)(hwnd), 0) |
| 446 | |
| 447 | #define PropSheet_IndexToHwnd(hDlg, i) \ |
| 448 | (HWND)SNDMSG(hDlg, PSM_INDEXTOHWND, (WPARAM)(i), 0) |
| 449 | |
| 450 | #define PropSheet_PageToIndex(hDlg, hpage) \ |
| 451 | (int)SNDMSG(hDlg, PSM_PAGETOINDEX, 0, (LPARAM)(hpage)) |
| 452 | |
| 453 | #define PropSheet_IndexToPage(hDlg, i) \ |
| 454 | (HPROPSHEETPAGE)SNDMSG(hDlg, PSM_INDEXTOPAGE, (WPARAM)(i), 0) |
| 455 | |
| 456 | #define PropSheet_IdToIndex(hDlg, id) \ |
| 457 | (int)SNDMSG(hDlg, PSM_IDTOINDEX, 0, (LPARAM)(id)) |
| 458 | |
| 459 | #define PropSheet_IndexToId(hDlg, i) \ |
| 460 | SNDMSG(hDlg, PSM_INDEXTOID, (WPARAM)(i), 0) |
| 461 | |
| 462 | #define PropSheet_GetResult(hDlg) \ |
| 463 | SNDMSG(hDlg, PSM_GETRESULT, 0, 0) |
| 464 | |
| 465 | #define PropSheet_RecalcPageSizes(hDlg) \ |
| 466 | SNDMSG(hDlg, PSM_RECALCPAGESIZES, 0, 0) |
Alexandre Julliard | 0666444 | 1999-02-11 16:22:12 +0000 | [diff] [blame] | 467 | |
| 468 | #ifdef __cplusplus |
| 469 | } |
| 470 | #endif |
| 471 | |
Patrik Stridvall | 857eb39 | 1999-06-12 18:36:54 +0000 | [diff] [blame] | 472 | #endif /* __WINE_PRSHT_H */ |