From 396a8b5daae80fd81e1f379003de2bb2e083ed0e Mon Sep 17 00:00:00 2001 From: Petra Lasch-Born <lasch@pik-potsdam.de> Date: Wed, 12 Dec 2018 17:03:12 +0100 Subject: [PATCH] Eine Neue Datei hochladen --- source_code/version2.2_windows/PRSHT.H | 519 +++++++++++++++++++++++++ 1 file changed, 519 insertions(+) create mode 100644 source_code/version2.2_windows/PRSHT.H diff --git a/source_code/version2.2_windows/PRSHT.H b/source_code/version2.2_windows/PRSHT.H new file mode 100644 index 0000000..c3e1654 --- /dev/null +++ b/source_code/version2.2_windows/PRSHT.H @@ -0,0 +1,519 @@ + +/*****************************************************************************\ +* * +* prsht.h - - Interface for the Windows Property Sheet Pages * +* * +* Version 1.0 * +* * +* Copyright 1991-1998, Microsoft Corp. All rights reserved. * +* * +\*****************************************************************************/ + +#ifndef _PRSHT_H_ +#define _PRSHT_H_ + +#ifndef _WIN32_IE +#define _WIN32_IE 0x0400 +#else +#if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500) +#error _WIN32_IE setting conflicts with _WIN32_WINNT setting +#endif +#endif + +// +// Define API decoration for direct importing of DLL references. +// +#ifndef WINCOMMCTRLAPI +#if !defined(_COMCTL32_) && defined(_WIN32) +#define WINCOMMCTRLAPI DECLSPEC_IMPORT +#else +#define WINCOMMCTRLAPI +#endif +#endif // WINCOMMCTRLAPI + +#ifndef CCSIZEOF_STRUCT +#define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) +#endif + +// +// For compilers that don't support nameless unions +// +#ifndef DUMMYUNIONNAME +#ifdef NONAMELESSUNION +#define DUMMYUNIONNAME u +#define DUMMYUNIONNAME2 u2 +#define DUMMYUNIONNAME3 u3 +#define DUMMYUNIONNAME4 u4 +#define DUMMYUNIONNAME5 u5 +#else +#define DUMMYUNIONNAME +#define DUMMYUNIONNAME2 +#define DUMMYUNIONNAME3 +#define DUMMYUNIONNAME4 +#define DUMMYUNIONNAME5 +#endif +#endif // DUMMYUNIONNAME + +#ifdef __cplusplus +extern "C" { +#endif + + +#ifndef SNDMSG +#ifdef __cplusplus +#ifndef _MAC +#define SNDMSG ::SendMessage +#else +#define SNDMSG ::AfxSendMessage +#endif +#else +#ifndef _MAC +#define SNDMSG SendMessage +#else +#define SNDMSG AfxSendMessage +#endif +#endif +#endif // ifndef SNDMSG + +#define MAXPROPPAGES 100 + +struct _PSP; +typedef struct _PSP FAR* HPROPSHEETPAGE; + +#ifndef MIDL_PASS +struct _PROPSHEETPAGEA; +struct _PROPSHEETPAGEW; +#endif + +typedef UINT (CALLBACK FAR * LPFNPSPCALLBACKA)(HWND hwnd, UINT uMsg, struct _PROPSHEETPAGEA FAR *ppsp); +typedef UINT (CALLBACK FAR * LPFNPSPCALLBACKW)(HWND hwnd, UINT uMsg, struct _PROPSHEETPAGEW FAR *ppsp); + +#ifdef UNICODE +#define LPFNPSPCALLBACK LPFNPSPCALLBACKW +#else +#define LPFNPSPCALLBACK LPFNPSPCALLBACKA +#endif + +#define PSP_DEFAULT 0x00000000 +#define PSP_DLGINDIRECT 0x00000001 +#define PSP_USEHICON 0x00000002 +#define PSP_USEICONID 0x00000004 +#define PSP_USETITLE 0x00000008 +#define PSP_RTLREADING 0x00000010 + +#define PSP_HASHELP 0x00000020 +#define PSP_USEREFPARENT 0x00000040 +#define PSP_USECALLBACK 0x00000080 +#define PSP_PREMATURE 0x00000400 + +#if (_WIN32_IE >= 0x0400) +//----- New flags for wizard97 -------------- +#define PSP_HIDEHEADER 0x00000800 +#define PSP_USEHEADERTITLE 0x00001000 +#define PSP_USEHEADERSUBTITLE 0x00002000 +//------------------------------------------- +#endif + + +#define PSPCB_RELEASE 1 +#define PSPCB_CREATE 2 + +#define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent) +#define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent) + +typedef struct _PROPSHEETPAGEA { + DWORD dwSize; + DWORD dwFlags; + HINSTANCE hInstance; + union { + LPCSTR pszTemplate; +#ifdef _WIN32 + LPCDLGTEMPLATE pResource; +#else + const VOID FAR *pResource; +#endif + } DUMMYUNIONNAME; + union { + HICON hIcon; + LPCSTR pszIcon; + } DUMMYUNIONNAME2; + LPCSTR pszTitle; + DLGPROC pfnDlgProc; + LPARAM lParam; + LPFNPSPCALLBACKA pfnCallback; + UINT FAR * pcRefParent; + +#if (_WIN32_IE >= 0x0400) + LPCSTR pszHeaderTitle; // this is displayed in the header + LPCSTR pszHeaderSubTitle; // +#endif +} PROPSHEETPAGEA, FAR *LPPROPSHEETPAGEA; +typedef const PROPSHEETPAGEA FAR *LPCPROPSHEETPAGEA; + +typedef struct _PROPSHEETPAGEW { + DWORD dwSize; + DWORD dwFlags; + HINSTANCE hInstance; + union { + LPCWSTR pszTemplate; +#ifdef _WIN32 + LPCDLGTEMPLATE pResource; +#else + const VOID FAR *pResource; +#endif + }DUMMYUNIONNAME; + union { + HICON hIcon; + LPCWSTR pszIcon; + }DUMMYUNIONNAME2; + LPCWSTR pszTitle; + DLGPROC pfnDlgProc; + LPARAM lParam; + LPFNPSPCALLBACKW pfnCallback; + UINT FAR * pcRefParent; + +#if (_WIN32_IE >= 0x0400) + LPCWSTR pszHeaderTitle; // this is displayed in the header + LPCWSTR pszHeaderSubTitle; /// +#endif +} PROPSHEETPAGEW, FAR *LPPROPSHEETPAGEW; +typedef const PROPSHEETPAGEW FAR *LPCPROPSHEETPAGEW; + +#ifdef UNICODE +#define PROPSHEETPAGE PROPSHEETPAGEW +#define LPPROPSHEETPAGE LPPROPSHEETPAGEW +#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW +#define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEW_V1_SIZE +#else +#define PROPSHEETPAGE PROPSHEETPAGEA +#define LPPROPSHEETPAGE LPPROPSHEETPAGEA +#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEA +#define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEA_V1_SIZE +#endif + + +#define PSH_DEFAULT 0x00000000 +#define PSH_PROPTITLE 0x00000001 +#define PSH_USEHICON 0x00000002 +#define PSH_USEICONID 0x00000004 +#define PSH_PROPSHEETPAGE 0x00000008 +#define PSH_WIZARDHASFINISH 0x00000010 +#define PSH_WIZARD 0x00000020 +#define PSH_USEPSTARTPAGE 0x00000040 +#define PSH_NOAPPLYNOW 0x00000080 +#define PSH_USECALLBACK 0x00000100 +#define PSH_HASHELP 0x00000200 +#define PSH_MODELESS 0x00000400 +#define PSH_RTLREADING 0x00000800 +#define PSH_WIZARDCONTEXTHELP 0x00001000 + +#if (_WIN32_IE >= 0x0400) +//----- New flags for wizard97 ----------- +#define PSH_WIZARD97 0x00002000 +// 0x00004000 was not used by any previous release +#define PSH_WATERMARK 0x00008000 +#define PSH_USEHBMWATERMARK 0x00010000 // user pass in a hbmWatermark instead of pszbmWatermark +#define PSH_USEHPLWATERMARK 0x00020000 // +#define PSH_STRETCHWATERMARK 0x00040000 // stretchwatermark also applies for the header +#define PSH_HEADER 0x00080000 +#define PSH_USEHBMHEADER 0x00100000 +#define PSH_USEPAGELANG 0x00200000 // use frame dialog template matched to page +//---------------------------------------- +#endif + + +typedef int (CALLBACK *PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM); + +#define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback) +#define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback) + +typedef struct _PROPSHEETHEADERA { + DWORD dwSize; + DWORD dwFlags; + HWND hwndParent; + HINSTANCE hInstance; + union { + HICON hIcon; + LPCSTR pszIcon; + }DUMMYUNIONNAME; + LPCSTR pszCaption; + + UINT nPages; + union { + UINT nStartPage; + LPCSTR pStartPage; + }DUMMYUNIONNAME2; + union { + LPCPROPSHEETPAGEA ppsp; + HPROPSHEETPAGE FAR *phpage; + }DUMMYUNIONNAME3; + PFNPROPSHEETCALLBACK pfnCallback; + +#if (_WIN32_IE >= 0x0400) + union { + HBITMAP hbmWatermark; + LPCSTR pszbmWatermark; + } DUMMYUNIONNAME4; + HPALETTE hplWatermark; + union { + HBITMAP hbmHeader; // Header bitmap shares the palette with watermark + LPCSTR pszbmHeader; + } DUMMYUNIONNAME5; +#endif +} PROPSHEETHEADERA, FAR *LPPROPSHEETHEADERA; + +typedef const PROPSHEETHEADERA FAR *LPCPROPSHEETHEADERA; + +typedef struct _PROPSHEETHEADERW { + DWORD dwSize; + DWORD dwFlags; + HWND hwndParent; + HINSTANCE hInstance; + union { + HICON hIcon; + LPCWSTR pszIcon; + }DUMMYUNIONNAME; + LPCWSTR pszCaption; + + + UINT nPages; + union { + UINT nStartPage; + LPCWSTR pStartPage; + }DUMMYUNIONNAME2; + union { + LPCPROPSHEETPAGEW ppsp; + HPROPSHEETPAGE FAR *phpage; + }DUMMYUNIONNAME3; + PFNPROPSHEETCALLBACK pfnCallback; + +#if (_WIN32_IE >= 0x0400) + union { + HBITMAP hbmWatermark; + LPCWSTR pszbmWatermark; + } DUMMYUNIONNAME4; + HPALETTE hplWatermark; + union { + HBITMAP hbmHeader; + LPCWSTR pszbmHeader; + } DUMMYUNIONNAME5; +#endif +} PROPSHEETHEADERW, FAR *LPPROPSHEETHEADERW; +typedef const PROPSHEETHEADERW FAR *LPCPROPSHEETHEADERW; + +#ifdef UNICODE +#define PROPSHEETHEADER PROPSHEETHEADERW +#define LPPROPSHEETHEADER LPPROPSHEETHEADERW +#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW +#define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERW_V1_SIZE +#else +#define PROPSHEETHEADER PROPSHEETHEADERA +#define LPPROPSHEETHEADER LPPROPSHEETHEADERA +#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA +#define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERA_V1_SIZE +#endif + + +#define PSCB_INITIALIZED 1 +#define PSCB_PRECREATE 2 + +WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA); +WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW); +WINCOMMCTRLAPI BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE); +WINCOMMCTRLAPI int WINAPI PropertySheetA(LPCPROPSHEETHEADERA); +WINCOMMCTRLAPI int WINAPI PropertySheetW(LPCPROPSHEETHEADERW); + +#ifdef UNICODE +#define CreatePropertySheetPage CreatePropertySheetPageW +#define PropertySheet PropertySheetW +#else +#define CreatePropertySheetPage CreatePropertySheetPageA +#define PropertySheet PropertySheetA +#endif + + + +typedef BOOL (CALLBACK FAR * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM); +typedef BOOL (CALLBACK FAR * LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM); + + +typedef struct _PSHNOTIFY +{ + NMHDR hdr; + LPARAM lParam; +} PSHNOTIFY, FAR *LPPSHNOTIFY; + +#define PSN_FIRST (0U-200U) +#define PSN_LAST (0U-299U) + + +#define PSN_SETACTIVE (PSN_FIRST-0) +#define PSN_KILLACTIVE (PSN_FIRST-1) +// #define PSN_VALIDATE (PSN_FIRST-1) +#define PSN_APPLY (PSN_FIRST-2) +#define PSN_RESET (PSN_FIRST-3) +// #define PSN_CANCEL (PSN_FIRST-3) +#define PSN_HELP (PSN_FIRST-5) +#define PSN_WIZBACK (PSN_FIRST-6) +#define PSN_WIZNEXT (PSN_FIRST-7) +#define PSN_WIZFINISH (PSN_FIRST-8) +#define PSN_QUERYCANCEL (PSN_FIRST-9) +#if (_WIN32_IE >= 0x0400) +#define PSN_GETOBJECT (PSN_FIRST-10) +#endif // 0x0400 + +#define PSNRET_NOERROR 0 +#define PSNRET_INVALID 1 +#define PSNRET_INVALID_NOCHANGEPAGE 2 + + +#define PSM_SETCURSEL (WM_USER + 101) +#define PropSheet_SetCurSel(hDlg, hpage, index) \ + SNDMSG(hDlg, PSM_SETCURSEL, (WPARAM)index, (LPARAM)hpage) + + +#define PSM_REMOVEPAGE (WM_USER + 102) +#define PropSheet_RemovePage(hDlg, index, hpage) \ + SNDMSG(hDlg, PSM_REMOVEPAGE, index, (LPARAM)hpage) + + +#define PSM_ADDPAGE (WM_USER + 103) +#define PropSheet_AddPage(hDlg, hpage) \ + SNDMSG(hDlg, PSM_ADDPAGE, 0, (LPARAM)hpage) + + +#define PSM_CHANGED (WM_USER + 104) +#define PropSheet_Changed(hDlg, hwnd) \ + SNDMSG(hDlg, PSM_CHANGED, (WPARAM)hwnd, 0L) + + +#define PSM_RESTARTWINDOWS (WM_USER + 105) +#define PropSheet_RestartWindows(hDlg) \ + SNDMSG(hDlg, PSM_RESTARTWINDOWS, 0, 0L) + + +#define PSM_REBOOTSYSTEM (WM_USER + 106) +#define PropSheet_RebootSystem(hDlg) \ + SNDMSG(hDlg, PSM_REBOOTSYSTEM, 0, 0L) + + +#define PSM_CANCELTOCLOSE (WM_USER + 107) +#define PropSheet_CancelToClose(hDlg) \ + PostMessage(hDlg, PSM_CANCELTOCLOSE, 0, 0L) + + +#define PSM_QUERYSIBLINGS (WM_USER + 108) +#define PropSheet_QuerySiblings(hDlg, wParam, lParam) \ + SNDMSG(hDlg, PSM_QUERYSIBLINGS, wParam, lParam) + + +#define PSM_UNCHANGED (WM_USER + 109) +#define PropSheet_UnChanged(hDlg, hwnd) \ + SNDMSG(hDlg, PSM_UNCHANGED, (WPARAM)hwnd, 0L) + + +#define PSM_APPLY (WM_USER + 110) +#define PropSheet_Apply(hDlg) \ + SNDMSG(hDlg, PSM_APPLY, 0, 0L) + + +#define PSM_SETTITLEA (WM_USER + 111) +#define PSM_SETTITLEW (WM_USER + 120) + +#ifdef UNICODE +#define PSM_SETTITLE PSM_SETTITLEW +#else +#define PSM_SETTITLE PSM_SETTITLEA +#endif + +#define PropSheet_SetTitle(hDlg, wStyle, lpszText)\ + SNDMSG(hDlg, PSM_SETTITLE, wStyle, (LPARAM)(LPCTSTR)lpszText) + + +#define PSM_SETWIZBUTTONS (WM_USER + 112) +#define PropSheet_SetWizButtons(hDlg, dwFlags) \ + PostMessage(hDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)dwFlags) + + +#define PSWIZB_BACK 0x00000001 +#define PSWIZB_NEXT 0x00000002 +#define PSWIZB_FINISH 0x00000004 +#define PSWIZB_DISABLEDFINISH 0x00000008 + + +#define PSM_PRESSBUTTON (WM_USER + 113) +#define PropSheet_PressButton(hDlg, iButton) \ + PostMessage(hDlg, PSM_PRESSBUTTON, (WPARAM)iButton, 0) + + +#define PSBTN_BACK 0 +#define PSBTN_NEXT 1 +#define PSBTN_FINISH 2 +#define PSBTN_OK 3 +#define PSBTN_APPLYNOW 4 +#define PSBTN_CANCEL 5 +#define PSBTN_HELP 6 +#define PSBTN_MAX 6 + + + +#define PSM_SETCURSELID (WM_USER + 114) +#define PropSheet_SetCurSelByID(hDlg, id) \ + SNDMSG(hDlg, PSM_SETCURSELID, 0, (LPARAM)id) + + +#define PSM_SETFINISHTEXTA (WM_USER + 115) +#define PSM_SETFINISHTEXTW (WM_USER + 121) + +#ifdef UNICODE +#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW +#else +#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA +#endif + +#define PropSheet_SetFinishText(hDlg, lpszText) \ + SNDMSG(hDlg, PSM_SETFINISHTEXT, 0, (LPARAM)lpszText) + + +#define PSM_GETTABCONTROL (WM_USER + 116) +#define PropSheet_GetTabControl(hDlg) \ + (HWND)SNDMSG(hDlg, PSM_GETTABCONTROL, 0, 0) + +#define PSM_ISDIALOGMESSAGE (WM_USER + 117) +#define PropSheet_IsDialogMessage(hDlg, pMsg) \ + (BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)pMsg) + +#define PSM_GETCURRENTPAGEHWND (WM_USER + 118) +#define PropSheet_GetCurrentPageHwnd(hDlg) \ + (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L) + +#define ID_PSRESTARTWINDOWS 0x2 +#define ID_PSREBOOTSYSTEM (ID_PSRESTARTWINDOWS | 0x1) + + +#define WIZ_CXDLG 276 +#define WIZ_CYDLG 140 + +#define WIZ_CXBMP 80 + +#define WIZ_BODYX 92 +#define WIZ_BODYCX 184 + +#define PROP_SM_CXDLG 212 +#define PROP_SM_CYDLG 188 + +#define PROP_MED_CXDLG 227 +#define PROP_MED_CYDLG 215 + +#define PROP_LG_CXDLG 252 +#define PROP_LG_CYDLG 218 + + + +#ifdef __cplusplus +} +#endif + + +#endif // _PRSHT_H_ + -- GitLab