Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _PRSHT_H_
      7 #define _PRSHT_H_
      8 
      9 #include <_mingw_unicode.h>
     10 
     11 #ifndef _WINRESRC_
     12 #ifndef _WIN32_IE
     13 #define _WIN32_IE 0x0501
     14 #endif
     15 #endif
     16 
     17 #ifndef WINCOMMCTRLAPI
     18 #ifndef _COMCTL32_
     19 #define WINCOMMCTRLAPI DECLSPEC_IMPORT
     20 #else
     21 #define WINCOMMCTRLAPI
     22 #endif
     23 #endif
     24 
     25 #ifndef CCSIZEOF_STRUCT
     26 #define CCSIZEOF_STRUCT(structname,member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member))
     27 #endif
     28 
     29 #ifdef _WIN64
     30 #include <pshpack8.h>
     31 #else
     32 #include <pshpack4.h>
     33 #endif
     34 
     35 #ifdef __cplusplus
     36 extern "C" {
     37 #endif
     38 
     39 #ifndef SNDMSG
     40 #ifdef __cplusplus
     41 #define SNDMSG ::SendMessage
     42 #else
     43 #define SNDMSG SendMessage
     44 #endif
     45 #endif
     46 
     47 #define MAXPROPPAGES 100
     48 
     49   struct _PSP;
     50   struct _PROPSHEETPAGEA;
     51   struct _PROPSHEETPAGEW;
     52 
     53   typedef struct _PSP *HPROPSHEETPAGE;
     54   typedef UINT (CALLBACK *LPFNPSPCALLBACKA)(HWND hwnd,UINT uMsg,struct _PROPSHEETPAGEA *ppsp);
     55   typedef UINT (CALLBACK *LPFNPSPCALLBACKW)(HWND hwnd,UINT uMsg,struct _PROPSHEETPAGEW *ppsp);
     56 
     57 #define LPFNPSPCALLBACK __MINGW_NAME_AW(LPFNPSPCALLBACK)
     58 
     59 #define PSP_DEFAULT 0x00000000
     60 #define PSP_DLGINDIRECT 0x00000001
     61 #define PSP_USEHICON 0x00000002
     62 #define PSP_USEICONID 0x00000004
     63 #define PSP_USETITLE 0x00000008
     64 #define PSP_RTLREADING 0x00000010
     65 
     66 #define PSP_HASHELP 0x00000020
     67 #define PSP_USEREFPARENT 0x00000040
     68 #define PSP_USECALLBACK 0x00000080
     69 #define PSP_PREMATURE 0x00000400
     70 
     71 #define PSP_HIDEHEADER 0x00000800
     72 #define PSP_USEHEADERTITLE 0x00001000
     73 #define PSP_USEHEADERSUBTITLE 0x00002000
     74 #define PSP_USEFUSIONCONTEXT 0x00004000
     75 
     76 #define PSPCB_ADDREF 0
     77 #define PSPCB_RELEASE 1
     78 #define PSPCB_CREATE 2
     79 
     80 #define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA,pcRefParent)
     81 #define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW,pcRefParent)
     82 
     83 #define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA,pszHeaderSubTitle)
     84 #define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW,pszHeaderSubTitle)
     85 
     86   typedef LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE;
     87 
     88 #define PROPSHEETPAGEA_V1_FIELDS				\
     89   DWORD dwSize,dwFlags;						\
     90   HINSTANCE hInstance;						\
     91   __C89_NAMELESS union {					\
     92     LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource;	\
     93   } DUMMYUNIONNAME;						\
     94   __C89_NAMELESS union {					\
     95     HICON hIcon; LPCSTR pszIcon;				\
     96   } DUMMYUNIONNAME2;						\
     97   LPCSTR pszTitle;						\
     98   DLGPROC pfnDlgProc;						\
     99   LPARAM lParam;						\
    100   LPFNPSPCALLBACKA pfnCallback;					\
    101   UINT *pcRefParent;
    102 
    103 #define PROPSHEETPAGEW_V1_FIELDS				\
    104   DWORD dwSize, dwFlags;					\
    105   HINSTANCE hInstance;						\
    106   __C89_NAMELESS union {					\
    107     LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource;	\
    108   } DUMMYUNIONNAME;						\
    109   __C89_NAMELESS union {					\
    110     HICON hIcon; LPCWSTR pszIcon;				\
    111   } DUMMYUNIONNAME2;						\
    112   LPCWSTR pszTitle;						\
    113   DLGPROC pfnDlgProc;						\
    114   LPARAM lParam;						\
    115   LPFNPSPCALLBACKW pfnCallback;					\
    116   UINT *pcRefParent;
    117 
    118 #define _PROPSHEETPAGEA_V3 _PROPSHEETPAGEA
    119 #define _PROPSHEETPAGEW_V3 _PROPSHEETPAGEW
    120 
    121   typedef struct _PROPSHEETPAGEA_V1 {
    122     PROPSHEETPAGEA_V1_FIELDS
    123   } PROPSHEETPAGEA_V1,*LPPROPSHEETPAGEA_V1;
    124 
    125   typedef const PROPSHEETPAGEA_V1 *LPCPROPSHEETPAGEA_V1;
    126 
    127   typedef struct _PROPSHEETPAGEA_V2 {
    128     PROPSHEETPAGEA_V1_FIELDS
    129 
    130       LPCSTR pszHeaderTitle;
    131     LPCSTR pszHeaderSubTitle;
    132   } PROPSHEETPAGEA_V2,*LPPROPSHEETPAGEA_V2;
    133 
    134   typedef const PROPSHEETPAGEA_V2 *LPCPROPSHEETPAGEA_V2;
    135 
    136   typedef struct _PROPSHEETPAGEA_V3 {
    137     PROPSHEETPAGEA_V1_FIELDS
    138       LPCSTR pszHeaderTitle;
    139     LPCSTR pszHeaderSubTitle;
    140     HANDLE hActCtx;
    141   } PROPSHEETPAGEA_V3,*LPPROPSHEETPAGEA_V3;
    142 
    143   typedef const PROPSHEETPAGEA_V3 *LPCPROPSHEETPAGEA_V3;
    144 
    145   typedef struct _PROPSHEETPAGEW_V1 {
    146     PROPSHEETPAGEW_V1_FIELDS
    147   } PROPSHEETPAGEW_V1,*LPPROPSHEETPAGEW_V1;
    148 
    149   typedef const PROPSHEETPAGEW_V1 *LPCPROPSHEETPAGEW_V1;
    150 
    151   typedef struct _PROPSHEETPAGEW_V2 {
    152     PROPSHEETPAGEW_V1_FIELDS
    153       LPCWSTR pszHeaderTitle;
    154     LPCWSTR pszHeaderSubTitle;
    155   } PROPSHEETPAGEW_V2,*LPPROPSHEETPAGEW_V2;
    156 
    157   typedef const PROPSHEETPAGEW_V2 *LPCPROPSHEETPAGEW_V2;
    158 
    159   typedef struct _PROPSHEETPAGEW_V3 {
    160     PROPSHEETPAGEW_V1_FIELDS
    161       LPCWSTR pszHeaderTitle;
    162     LPCWSTR pszHeaderSubTitle;
    163     HANDLE hActCtx;
    164   } PROPSHEETPAGEW_V3,*LPPROPSHEETPAGEW_V3;
    165 
    166   typedef const PROPSHEETPAGEW_V3 *LPCPROPSHEETPAGEW_V3;
    167   typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST;
    168   typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST;
    169   typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST;
    170   typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST;
    171   typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST;
    172   typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST;
    173 
    174   typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA;
    175   typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW;
    176   typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA;
    177   typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW;
    178   typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA;
    179   typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW;
    180 
    181 #define PROPSHEETPAGE __MINGW_NAME_AW(PROPSHEETPAGE)
    182 #define LPPROPSHEETPAGE __MINGW_NAME_AW(LPPROPSHEETPAGE)
    183 #define LPCPROPSHEETPAGE __MINGW_NAME_AW(LPCPROPSHEETPAGE)
    184 
    185 #define PROPSHEETPAGE_V1_SIZE __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V1_SIZE)
    186 #define PROPSHEETPAGE_V2_SIZE __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V2_SIZE)
    187 #define PROPSHEETPAGE_V1 __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V1)
    188 #define LPPROPSHEETPAGE_V1 __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_V1)
    189 #define LPCPROPSHEETPAGE_V1 __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_V1)
    190 #define PROPSHEETPAGE_V2 __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V2)
    191 #define LPPROPSHEETPAGE_V2 __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_V2)
    192 #define LPCPROPSHEETPAGE_V2 __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_V2)
    193 #define PROPSHEETPAGE_V3 __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V3)
    194 #define LPPROPSHEETPAGE_V3 __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_V3)
    195 #define LPCPROPSHEETPAGE_V3 __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_V3)
    196 #define PROPSHEETPAGE_LATEST __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_LATEST)
    197 #define LPPROPSHEETPAGE_LATEST __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_LATEST)
    198 #define LPCPROPSHEETPAGE_LATEST __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_LATEST)
    199 
    200 #define PSH_DEFAULT 0x00000000
    201 #define PSH_PROPTITLE 0x00000001
    202 #define PSH_USEHICON 0x00000002
    203 #define PSH_USEICONID 0x00000004
    204 #define PSH_PROPSHEETPAGE 0x00000008
    205 #define PSH_WIZARDHASFINISH 0x00000010
    206 #define PSH_WIZARD 0x00000020
    207 #define PSH_USEPSTARTPAGE 0x00000040
    208 #define PSH_NOAPPLYNOW 0x00000080
    209 #define PSH_USECALLBACK 0x00000100
    210 #define PSH_HASHELP 0x00000200
    211 #define PSH_MODELESS 0x00000400
    212 #define PSH_RTLREADING 0x00000800
    213 #define PSH_WIZARDCONTEXTHELP 0x00001000
    214 
    215 #define PSH_WIZARD97 0x01000000
    216 #define PSH_WATERMARK 0x00008000
    217 #define PSH_USEHBMWATERMARK 0x00010000
    218 #define PSH_USEHPLWATERMARK 0x00020000
    219 #define PSH_STRETCHWATERMARK 0x00040000
    220 #define PSH_HEADER 0x00080000
    221 #define PSH_USEHBMHEADER 0x00100000
    222 #define PSH_USEPAGELANG 0x00200000
    223 
    224 #define PSH_WIZARD_LITE 0x00400000
    225 #define PSH_NOCONTEXTHELP 0x02000000
    226 
    227   typedef int (CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
    228 
    229 #define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA,pfnCallback)
    230 #define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW,pfnCallback)
    231 
    232 #define PROPSHEETHEADERA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA,DUMMYUNION5_MEMBER(hbmHeader))
    233 #define PROPSHEETHEADERW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW,DUMMYUNION5_MEMBER(hbmHeader))
    234 
    235   typedef struct _PROPSHEETHEADERA {
    236     DWORD dwSize;
    237     DWORD dwFlags;
    238     HWND hwndParent;
    239     HINSTANCE hInstance;
    240     __C89_NAMELESS union {
    241       HICON hIcon;
    242       LPCSTR pszIcon;
    243     } DUMMYUNIONNAME;
    244     LPCSTR pszCaption;
    245     UINT nPages;
    246     __C89_NAMELESS union {
    247       UINT nStartPage;
    248       LPCSTR pStartPage;
    249     } DUMMYUNIONNAME2;
    250     __C89_NAMELESS union {
    251       LPCPROPSHEETPAGEA ppsp;
    252       HPROPSHEETPAGE *phpage;
    253     } DUMMYUNIONNAME3;
    254     PFNPROPSHEETCALLBACK pfnCallback;
    255     __C89_NAMELESS union {
    256       HBITMAP hbmWatermark;
    257       LPCSTR pszbmWatermark;
    258     } DUMMYUNIONNAME4;
    259     HPALETTE hplWatermark;
    260     __C89_NAMELESS union {
    261       HBITMAP hbmHeader;
    262       LPCSTR pszbmHeader;
    263     } DUMMYUNIONNAME5;
    264   } PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
    265 
    266   typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
    267 
    268   typedef struct _PROPSHEETHEADERW {
    269     DWORD dwSize;
    270     DWORD dwFlags;
    271     HWND hwndParent;
    272     HINSTANCE hInstance;
    273     __C89_NAMELESS union {
    274       HICON hIcon;
    275       LPCWSTR pszIcon;
    276     } DUMMYUNIONNAME;
    277     LPCWSTR pszCaption;
    278     UINT nPages;
    279     __C89_NAMELESS union {
    280       UINT nStartPage;
    281       LPCWSTR pStartPage;
    282     } DUMMYUNIONNAME2;
    283     __C89_NAMELESS union {
    284       LPCPROPSHEETPAGEW ppsp;
    285       HPROPSHEETPAGE *phpage;
    286     } DUMMYUNIONNAME3;
    287     PFNPROPSHEETCALLBACK pfnCallback;
    288     __C89_NAMELESS union {
    289       HBITMAP hbmWatermark;
    290       LPCWSTR pszbmWatermark;
    291     } DUMMYUNIONNAME4;
    292     HPALETTE hplWatermark;
    293     __C89_NAMELESS union {
    294       HBITMAP hbmHeader;
    295       LPCWSTR pszbmHeader;
    296     } DUMMYUNIONNAME5;
    297   } PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
    298 
    299   typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
    300 
    301 #define PROPSHEETHEADER __MINGW_NAME_AW(PROPSHEETHEADER)
    302 #define LPPROPSHEETHEADER __MINGW_NAME_AW(LPPROPSHEETHEADER)
    303 #define LPCPROPSHEETHEADER __MINGW_NAME_AW(LPCPROPSHEETHEADER)
    304 
    305 #define PROPSHEETHEADER_V1_SIZE __MINGW_NAME_AW_EXT(PROPSHEETHEADER,_V1_SIZE)
    306 #define PROPSHEETHEADER_V2_SIZE __MINGW_NAME_AW_EXT(PROPSHEETHEADER,_V2_SIZE)
    307 
    308 #define PSCB_INITIALIZED 1
    309 #define PSCB_PRECREATE 2
    310 #define PSCB_BUTTONPRESSED 3
    311 
    312   WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer);
    313   WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer);
    314   WINCOMMCTRLAPI WINBOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
    315   WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
    316   WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
    317 
    318 #define CreatePropertySheetPage __MINGW_NAME_AW(CreatePropertySheetPage)
    319 #define PropertySheet __MINGW_NAME_AW(PropertySheet)
    320 
    321   typedef WINBOOL (CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
    322   typedef WINBOOL (CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
    323 
    324   typedef struct _PSHNOTIFY {
    325     NMHDR hdr;
    326     LPARAM lParam;
    327   } PSHNOTIFY,*LPPSHNOTIFY;
    328 
    329 #define PSN_FIRST (0U-200U)
    330 #define PSN_LAST (0U-299U)
    331 
    332 #define PSN_SETACTIVE (PSN_FIRST-0)
    333 #define PSN_KILLACTIVE (PSN_FIRST-1)
    334 #define PSN_APPLY (PSN_FIRST-2)
    335 #define PSN_RESET (PSN_FIRST-3)
    336 #define PSN_HELP (PSN_FIRST-5)
    337 #define PSN_WIZBACK (PSN_FIRST-6)
    338 #define PSN_WIZNEXT (PSN_FIRST-7)
    339 #define PSN_WIZFINISH (PSN_FIRST-8)
    340 #define PSN_QUERYCANCEL (PSN_FIRST-9)
    341 #define PSN_GETOBJECT (PSN_FIRST-10)
    342 #define PSN_TRANSLATEACCELERATOR (PSN_FIRST-12)
    343 #define PSN_QUERYINITIALFOCUS (PSN_FIRST-13)
    344 
    345 #define PSNRET_NOERROR 0
    346 #define PSNRET_INVALID 1
    347 #define PSNRET_INVALID_NOCHANGEPAGE 2
    348 #define PSNRET_MESSAGEHANDLED 3
    349 
    350 #define PSM_SETCURSEL (WM_USER + 101)
    351 #define PropSheet_SetCurSel(hDlg,hpage,index) SNDMSG(hDlg,PSM_SETCURSEL,(WPARAM)index,(LPARAM)hpage)
    352 
    353 #define PSM_REMOVEPAGE (WM_USER + 102)
    354 #define PropSheet_RemovePage(hDlg,index,hpage) SNDMSG(hDlg,PSM_REMOVEPAGE,index,(LPARAM)hpage)
    355 
    356 #define PSM_ADDPAGE (WM_USER + 103)
    357 #define PropSheet_AddPage(hDlg,hpage) SNDMSG(hDlg,PSM_ADDPAGE,0,(LPARAM)hpage)
    358 
    359 #define PSM_CHANGED (WM_USER + 104)
    360 #define PropSheet_Changed(hDlg,hwnd) SNDMSG(hDlg,PSM_CHANGED,(WPARAM)hwnd,(LPARAM)0)
    361 
    362 #define PSM_RESTARTWINDOWS (WM_USER + 105)
    363 #define PropSheet_RestartWindows(hDlg) SNDMSG(hDlg,PSM_RESTARTWINDOWS,(WPARAM)0,(LPARAM)0)
    364 
    365 #define PSM_REBOOTSYSTEM (WM_USER + 106)
    366 #define PropSheet_RebootSystem(hDlg) SNDMSG(hDlg,PSM_REBOOTSYSTEM,(WPARAM)0,(LPARAM)0)
    367 
    368 #define PSM_CANCELTOCLOSE (WM_USER + 107)
    369 #define PropSheet_CancelToClose(hDlg) PostMessage(hDlg,PSM_CANCELTOCLOSE,(WPARAM)0,(LPARAM)0)
    370 
    371 #define PSM_QUERYSIBLINGS (WM_USER + 108)
    372 #define PropSheet_QuerySiblings(hDlg,wParam,lParam) SNDMSG(hDlg,PSM_QUERYSIBLINGS,wParam,lParam)
    373 
    374 #define PSM_UNCHANGED (WM_USER + 109)
    375 #define PropSheet_UnChanged(hDlg,hwnd) SNDMSG(hDlg,PSM_UNCHANGED,(WPARAM)hwnd,(LPARAM)0)
    376 
    377 #define PSM_APPLY (WM_USER + 110)
    378 #define PropSheet_Apply(hDlg) SNDMSG(hDlg,PSM_APPLY,(WPARAM)0,(LPARAM)0)
    379 
    380 #define PSM_SETTITLEA (WM_USER + 111)
    381 #define PSM_SETTITLEW (WM_USER + 120)
    382 
    383 #define PSM_SETTITLE __MINGW_NAME_AW(PSM_SETTITLE)
    384 
    385 #define PropSheet_SetTitle(hDlg,wStyle,lpszText) SNDMSG(hDlg,PSM_SETTITLE,wStyle,(LPARAM)(LPCTSTR)(lpszText))
    386 
    387 #define PSM_SETWIZBUTTONS (WM_USER + 112)
    388 #define PropSheet_SetWizButtons(hDlg,dwFlags) PostMessage(hDlg,PSM_SETWIZBUTTONS,(WPARAM)0,(LPARAM)dwFlags)
    389 
    390 #define PSWIZB_BACK 0x00000001
    391 #define PSWIZB_NEXT 0x00000002
    392 #define PSWIZB_FINISH 0x00000004
    393 #define PSWIZB_DISABLEDFINISH 0x00000008
    394 
    395 #define PSM_PRESSBUTTON (WM_USER + 113)
    396 #define PropSheet_PressButton(hDlg,iButton) PostMessage(hDlg,PSM_PRESSBUTTON,(WPARAM)iButton,(LPARAM)0)
    397 
    398 #define PSBTN_BACK 0
    399 #define PSBTN_NEXT 1
    400 #define PSBTN_FINISH 2
    401 #define PSBTN_OK 3
    402 #define PSBTN_APPLYNOW 4
    403 #define PSBTN_CANCEL 5
    404 #define PSBTN_HELP 6
    405 #define PSBTN_MAX 6
    406 
    407 #define PSM_SETCURSELID (WM_USER + 114)
    408 #define PropSheet_SetCurSelByID(hDlg,id) SNDMSG(hDlg,PSM_SETCURSELID,0,(LPARAM)id)
    409 
    410 #define PSM_SETFINISHTEXTA (WM_USER + 115)
    411 #define PSM_SETFINISHTEXTW (WM_USER + 121)
    412 
    413 #define PSM_SETFINISHTEXT __MINGW_NAME_AW(PSM_SETFINISHTEXT)
    414 
    415 #define PropSheet_SetFinishText(hDlg,lpszText) SNDMSG(hDlg,PSM_SETFINISHTEXT,0,(LPARAM)lpszText)
    416 
    417 #define PSM_GETTABCONTROL (WM_USER + 116)
    418 #define PropSheet_GetTabControl(hDlg) (HWND)SNDMSG(hDlg,PSM_GETTABCONTROL,0,0)
    419 
    420 #define PSM_ISDIALOGMESSAGE (WM_USER + 117)
    421 #define PropSheet_IsDialogMessage(hDlg,pMsg) (WINBOOL)SNDMSG(hDlg,PSM_ISDIALOGMESSAGE,0,(LPARAM)pMsg)
    422 
    423 #define PSM_GETCURRENTPAGEHWND (WM_USER + 118)
    424 #define PropSheet_GetCurrentPageHwnd(hDlg) (HWND)SNDMSG(hDlg,PSM_GETCURRENTPAGEHWND,(WPARAM)0,(LPARAM)0)
    425 
    426 #define PSM_INSERTPAGE (WM_USER + 119)
    427 #define PropSheet_InsertPage(hDlg,index,hpage) SNDMSG(hDlg,PSM_INSERTPAGE,(WPARAM)(index),(LPARAM)(hpage))
    428 
    429 #define PSM_SETHEADERTITLEA (WM_USER + 125)
    430 #define PSM_SETHEADERTITLEW (WM_USER + 126)
    431 
    432 #define PSM_SETHEADERTITLE __MINGW_NAME_AW(PSM_SETHEADERTITLE)
    433 
    434 #define PropSheet_SetHeaderTitle(hDlg,index,lpszText) SNDMSG(hDlg,PSM_SETHEADERTITLE,(WPARAM)(index),(LPARAM)(lpszText))
    435 
    436 #define PSM_SETHEADERSUBTITLEA (WM_USER + 127)
    437 #define PSM_SETHEADERSUBTITLEW (WM_USER + 128)
    438 
    439 #define PSM_SETHEADERSUBTITLE __MINGW_NAME_AW(PSM_SETHEADERSUBTITLE)
    440 
    441 #define PropSheet_SetHeaderSubTitle(hDlg,index,lpszText) SNDMSG(hDlg,PSM_SETHEADERSUBTITLE,(WPARAM)(index),(LPARAM)(lpszText))
    442 
    443 #define PSM_HWNDTOINDEX (WM_USER + 129)
    444 #define PropSheet_HwndToIndex(hDlg,hwnd) (int)SNDMSG(hDlg,PSM_HWNDTOINDEX,(WPARAM)(hwnd),0)
    445 #define PSM_INDEXTOHWND (WM_USER + 130)
    446 #define PropSheet_IndexToHwnd(hDlg,i) (HWND)SNDMSG(hDlg,PSM_INDEXTOHWND,(WPARAM)(i),0)
    447 #define PSM_PAGETOINDEX (WM_USER + 131)
    448 #define PropSheet_PageToIndex(hDlg,hpage) (int)SNDMSG(hDlg,PSM_PAGETOINDEX,0,(LPARAM)(hpage))
    449 #define PSM_INDEXTOPAGE (WM_USER + 132)
    450 #define PropSheet_IndexToPage(hDlg,i) (HPROPSHEETPAGE)SNDMSG(hDlg,PSM_INDEXTOPAGE,(WPARAM)(i),0)
    451 #define PSM_IDTOINDEX (WM_USER + 133)
    452 #define PropSheet_IdToIndex(hDlg,id) (int)SNDMSG(hDlg,PSM_IDTOINDEX,0,(LPARAM)(id))
    453 #define PSM_INDEXTOID (WM_USER + 134)
    454 #define PropSheet_IndexToId(hDlg,i) SNDMSG(hDlg,PSM_INDEXTOID,(WPARAM)(i),0)
    455 #define PSM_GETRESULT (WM_USER + 135)
    456 #define PropSheet_GetResult(hDlg) SNDMSG(hDlg,PSM_GETRESULT,0,0)
    457 #define PSM_RECALCPAGESIZES (WM_USER + 136)
    458 #define PropSheet_RecalcPageSizes(hDlg) SNDMSG(hDlg,PSM_RECALCPAGESIZES,0,0)
    459 
    460 #define ID_PSRESTARTWINDOWS 0x2
    461 #define ID_PSREBOOTSYSTEM (ID_PSRESTARTWINDOWS | 0x1)
    462 
    463 #define WIZ_CXDLG 276
    464 #define WIZ_CYDLG 140
    465 
    466 #define WIZ_CXBMP 80
    467 
    468 #define WIZ_BODYX 92
    469 #define WIZ_BODYCX 184
    470 
    471 #define PROP_SM_CXDLG 212
    472 #define PROP_SM_CYDLG 188
    473 
    474 #define PROP_MED_CXDLG 227
    475 #define PROP_MED_CYDLG 215
    476 
    477 #define PROP_LG_CXDLG 252
    478 #define PROP_LG_CYDLG 218
    479 
    480 #ifdef __cplusplus
    481 }
    482 #endif
    483 
    484 #include <poppack.h>
    485 #endif
    486