1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045 |
- {******************************************************************************}
- { }
- { Property Sheet Pages API interface Unit for Object Pascal }
- { }
- { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
- { Corporation. All Rights Reserved. }
- { }
- { The original file is: prsht.h, released June 2000. The original Pascal }
- { code is: PrSht.pas, released December 2000. The initial developer of the }
- { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
- { }
- { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
- { Marcel van Brakel. All Rights Reserved. }
- { }
- { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
- { }
- { You may retrieve the latest version of this file at the Project JEDI }
- { APILIB home page, located at http://jedi-apilib.sourceforge.net }
- { }
- { The contents of this file are used with permission, subject to the Mozilla }
- { Public License Version 1.1 (the "License"); you may not use this file except }
- { in compliance with the License. You may obtain a copy of the License at }
- { http://www.mozilla.org/MPL/MPL-1.1.html }
- { }
- { Software distributed under the License is distributed on an "AS IS" basis, }
- { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
- { the specific language governing rights and limitations under the License. }
- { }
- { Alternatively, the contents of this file may be used under the terms of the }
- { GNU Lesser General Public License (the "LGPL License"), in which case the }
- { provisions of the LGPL License are applicable instead of those above. }
- { If you wish to allow use of your version of this file only under the terms }
- { of the LGPL License and not to allow others to use your version of this file }
- { under the MPL, indicate your decision by deleting the provisions above and }
- { replace them with the notice and other provisions required by the LGPL }
- { License. If you do not delete the provisions above, a recipient may use }
- { your version of this file under either the MPL or the LGPL License. }
- { }
- { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
- { }
- {******************************************************************************}
- // $Id: JwaPrSht.pas,v 1.12 2005/09/06 16:36:50 marquardt Exp $
- unit JwaPrSht;
- {$WEAKPACKAGEUNIT}
- {$I jediapilib.inc}
- interface
- uses
- JwaWindows;
- {$HPPEMIT ''}
- {$HPPEMIT '#include "ntdsapi.h"'}
- {$HPPEMIT ''}
- {$HPPEMIT 'typedef PHPROPSHEETPAGE *HPROPSHEETPAGE'}
- {$HPPEMIT ''}
- //#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
- //
- const
- MAXPROPPAGES = 100;
- {$EXTERNALSYM MAXPROPPAGES}
- type
- HPROPSHEETPAGE = Pointer;
- {$EXTERNALSYM HPROPSHEETPAGE}
- PHPROPSHEETPAGE = ^HPROPSHEETPAGE;
- {$NODEFINE PHPROPSHEETPAGE}
- LPFNPSPCALLBACKA = function(hwnd: HWND; uMsg: UINT; ppsp: Pointer{LPPROPSHEETPAGEA}): UINT; stdcall;
- {$EXTERNALSYM LPFNPSPCALLBACKA}
- LPFNPSPCALLBACKW = function(hwnd: HWND; uMsg: UINT; ppsp: Pointer{LPPROPSHEETPAGEW}): UINT; stdcall;
- {$EXTERNALSYM LPFNPSPCALLBACKW}
- {$IFDEF UNICODE}
- LPFNPSPCALLBACK = function(hwnd: HWND; uMsg: UINT; ppsp: Pointer{LPPROPSHEETPAGEW}): UINT; stdcall;
- {$EXTERNALSYM LPFNPSPCALLBACK}
- {$ELSE}
- LPFNPSPCALLBACK = function(hwnd: HWND; uMsg: UINT; ppsp: Pointer{LPPROPSHEETPAGEA}): UINT; stdcall;
- {$EXTERNALSYM LPFNPSPCALLBACK}
- {$ENDIF UNICODE}
-
- const
- PSP_DEFAULT = $00000000;
- {$EXTERNALSYM PSP_DEFAULT}
- PSP_DLGINDIRECT = $00000001;
- {$EXTERNALSYM PSP_DLGINDIRECT}
- PSP_USEHICON = $00000002;
- {$EXTERNALSYM PSP_USEHICON}
- PSP_USEICONID = $00000004;
- {$EXTERNALSYM PSP_USEICONID}
- PSP_USETITLE = $00000008;
- {$EXTERNALSYM PSP_USETITLE}
- PSP_RTLREADING = $00000010;
- {$EXTERNALSYM PSP_RTLREADING}
- PSP_HASHELP = $00000020;
- {$EXTERNALSYM PSP_HASHELP}
- PSP_USEREFPARENT = $00000040;
- {$EXTERNALSYM PSP_USEREFPARENT}
- PSP_USECALLBACK = $00000080;
- {$EXTERNALSYM PSP_USECALLBACK}
- PSP_PREMATURE = $00000400;
- {$EXTERNALSYM PSP_PREMATURE}
- //----- New flags for wizard97 --------------
- PSP_HIDEHEADER = $00000800;
- {$EXTERNALSYM PSP_HIDEHEADER}
- PSP_USEHEADERTITLE = $00001000;
- {$EXTERNALSYM PSP_USEHEADERTITLE}
- PSP_USEHEADERSUBTITLE = $00002000;
- {$EXTERNALSYM PSP_USEHEADERSUBTITLE}
- //-------------------------------------------
- PSPCB_ADDREF = 0;
- {$EXTERNALSYM PSPCB_ADDREF}
- PSPCB_RELEASE = 1;
- {$EXTERNALSYM PSPCB_RELEASE}
- PSPCB_CREATE = 2;
- {$EXTERNALSYM PSPCB_CREATE}
- //#define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent)
- //#define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent)
- type
- _PROPSHEETPAGEA = record
- dwSize: DWORD;
- dwFlags: DWORD;
- hInstance: HINST;
- u: record
- case Integer of
- 0: (pszTemplate: LPCSTR);
- 1: (pResource: LPCDLGTEMPLATE);
- end;
- u2: record
- case Integer of
- 0: (hIcon: HICON);
- 1: (pszIcon: LPCSTR);
- end;
- pszTitle: LPCSTR;
- pfnDlgProc: DLGPROC;
- lParam: LPARAM;
- pfnCallback: LPFNPSPCALLBACKA;
- pcRefParent: LPUINT;
- {$IFDEF IE400_UP}
- pszHeaderTitle: LPCSTR; // this is displayed in the header
- pszHeaderSubTitle: LPCSTR; //
- {$ENDIF IE400_UP}
- end;
- {$EXTERNALSYM _PROPSHEETPAGEA}
- PROPSHEETPAGEA = _PROPSHEETPAGEA;
- {$EXTERNALSYM PROPSHEETPAGEA}
- LPPROPSHEETPAGEA = ^PROPSHEETPAGEA;
- {$EXTERNALSYM LPPROPSHEETPAGEA}
- LPCPROPSHEETPAGEA = LPPROPSHEETPAGEA;
- {$EXTERNALSYM LPCPROPSHEETPAGEA}
- TPropSheetPageA = PROPSHEETPAGEA;
- PPropSheetPageA = LPPROPSHEETPAGEA;
- _PROPSHEETPAGEW = record
- dwSize: DWORD;
- dwFlags: DWORD;
- hInstance: HINST;
- u: record
- case Integer of
- 0: (pszTemplate: LPCWSTR);
- 1: (pResource: LPCDLGTEMPLATE);
- end;
- u2: record
- case Integer of
- 0: (hIcon: HICON);
- 1: (pszIcon: LPCWSTR);
- end;
- pszTitle: LPCWSTR;
- pfnDlgProc: DLGPROC;
- lParam: LPARAM;
- pfnCallback: LPFNPSPCALLBACKW;
- pcRefParent: LPUINT;
- {$IFDEF IE400_UP}
- pszHeaderTitle: LPCWSTR; // this is displayed in the header
- pszHeaderSubTitle: LPCWSTR; //
- {$ENDIF IE400_UP}
- end;
- {$EXTERNALSYM _PROPSHEETPAGEW}
- PROPSHEETPAGEW = _PROPSHEETPAGEW;
- {$EXTERNALSYM PROPSHEETPAGEW}
- LPPROPSHEETPAGEW = ^PROPSHEETPAGEW;
- {$EXTERNALSYM LPPROPSHEETPAGEW}
- LPCPROPSHEETPAGEW = LPPROPSHEETPAGEW;
- {$EXTERNALSYM LPCPROPSHEETPAGEW}
- TPropSheetPageW = PROPSHEETPAGEW;
- PPropSheetPageW = LPPROPSHEETPAGEW;
- {$IFDEF UNICODE}
- PROPSHEETPAGE = PROPSHEETPAGEW;
- {$EXTERNALSYM PROPSHEETPAGE}
- LPPROPSHEETPAGE = LPPROPSHEETPAGEW;
- {$EXTERNALSYM LPPROPSHEETPAGE}
- LPCPROPSHEETPAGE = LPCPROPSHEETPAGEW;
- {$EXTERNALSYM LPCPROPSHEETPAGE}
- TPropSheetPage = TPropSheetPageW;
- PPropSheetPage = PPropSheetPageW;
- const
- PROPSHEETPAGE_V1_SIZE = 40; {PROPSHEETPAGEW_V1_SIZE}
- {$EXTERNALSYM PROPSHEETPAGE_V1_SIZE}
- {$ELSE}
- PROPSHEETPAGE = PROPSHEETPAGEA;
- {$EXTERNALSYM PROPSHEETPAGE}
- LPPROPSHEETPAGE = LPPROPSHEETPAGEA;
- {$EXTERNALSYM LPPROPSHEETPAGE}
- LPCPROPSHEETPAGE = LPCPROPSHEETPAGEA;
- {$EXTERNALSYM LPCPROPSHEETPAGE}
- TPropSheetPage = TPropSheetPageA;
- PPropSheetPage = PPropSheetPageA;
- const
- PROPSHEETPAGE_V1_SIZE = 40; {PROPSHEETPAGEA_V1_SIZE}
- {$EXTERNALSYM PROPSHEETPAGE_V1_SIZE}
- {$ENDIF UNICODE}
- const
- PSH_DEFAULT = $00000000;
- {$EXTERNALSYM PSH_DEFAULT}
- PSH_PROPTITLE = $00000001;
- {$EXTERNALSYM PSH_PROPTITLE}
- PSH_USEHICON = $00000002;
- {$EXTERNALSYM PSH_USEHICON}
- PSH_USEICONID = $00000004;
- {$EXTERNALSYM PSH_USEICONID}
- PSH_PROPSHEETPAGE = $00000008;
- {$EXTERNALSYM PSH_PROPSHEETPAGE}
- PSH_WIZARDHASFINISH = $00000010;
- {$EXTERNALSYM PSH_WIZARDHASFINISH}
- PSH_WIZARD = $00000020;
- {$EXTERNALSYM PSH_WIZARD}
- PSH_USEPSTARTPAGE = $00000040;
- {$EXTERNALSYM PSH_USEPSTARTPAGE}
- PSH_NOAPPLYNOW = $00000080;
- {$EXTERNALSYM PSH_NOAPPLYNOW}
- PSH_USECALLBACK = $00000100;
- {$EXTERNALSYM PSH_USECALLBACK}
- PSH_HASHELP = $00000200;
- {$EXTERNALSYM PSH_HASHELP}
- PSH_MODELESS = $00000400;
- {$EXTERNALSYM PSH_MODELESS}
- PSH_RTLREADING = $00000800;
- {$EXTERNALSYM PSH_RTLREADING}
- PSH_WIZARDCONTEXTHELP = $00001000;
- {$EXTERNALSYM PSH_WIZARDCONTEXTHELP}
- //----- New flags for wizard97 -----------
- {$IFDEF IE500_UP}
- PSH_WIZARD97 = $01000000;
- {$EXTERNALSYM PSH_WIZARD97}
- {$ELSE}
- PSH_WIZARD97 = $00002000;
- {$EXTERNALSYM PSH_WIZARD97}
- {$ENDIF IE500_UP}
- // 0x00004000 was not used by any previous release
- PSH_WATERMARK = $00008000;
- {$EXTERNALSYM PSH_WATERMARK}
- PSH_USEHBMWATERMARK = $00010000; // user pass in a hbmWatermark instead of pszbmWatermark
- {$EXTERNALSYM PSH_USEHBMWATERMARK}
- PSH_USEHPLWATERMARK = $00020000; //
- {$EXTERNALSYM PSH_USEHPLWATERMARK}
- PSH_STRETCHWATERMARK = $00040000; // stretchwatermark also applies for the header
- {$EXTERNALSYM PSH_STRETCHWATERMARK}
- PSH_HEADER = $00080000;
- {$EXTERNALSYM PSH_HEADER}
- PSH_USEHBMHEADER = $00100000;
- {$EXTERNALSYM PSH_USEHBMHEADER}
- PSH_USEPAGELANG = $00200000; // use frame dialog template matched to page
- {$EXTERNALSYM PSH_USEPAGELANG}
- //----------------------------------------
- //----- New flags for wizard-lite --------
- PSH_WIZARD_LITE = $00400000;
- {$EXTERNALSYM PSH_WIZARD_LITE}
- PSH_NOCONTEXTHELP = $02000000;
- {$EXTERNALSYM PSH_NOCONTEXTHELP}
- //----------------------------------------
- type
- PFNPROPSHEETCALLBACK = function(hwn: HWND; uMsg: UINT; lParam: LPARAM): Integer; stdcall;
- {$EXTERNALSYM PFNPROPSHEETCALLBACK}
- //const
- //#define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback)
- //#define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback)
- type
- _PROPSHEETHEADERA = record
- dwSize: DWORD;
- dwFlags: DWORD;
- hwndParent: HWND;
- hInstance: HINST;
- u: record
- case Integer of
- 0: (hIcon: HICON);
- 1: (pszIcon: LPCSTR);
- end;
- pszCaption: LPCSTR;
- nPages: UINT;
- u2: record
- case Integer of
- 0: (nStartPage: UINT);
- 1: (pStartPage: LPCSTR);
- end;
- u3: record
- case Integer of
- 0: (ppsp: LPCPROPSHEETPAGEA);
- 1: (phpage: PHPROPSHEETPAGE);
- end;
- pfnCallback: PFNPROPSHEETCALLBACK;
- {$IFDEF IE400_UP}
- u4: record
- case Integer of
- 0: (hbmWatermark: HBITMAP);
- 1: (pszbmWatermark: LPCSTR);
- end;
- hplWatermark: HPALETTE;
- u5: record
- case Integer of
- 0: (hbmHeader: HBITMAP); // Header bitmap shares the palette with watermark
- 1: (pszbmHeader: LPCSTR);
- end;
- {$ENDIF IE400_UP}
- end;
- {$EXTERNALSYM _PROPSHEETHEADERA}
- PROPSHEETHEADERA =_PROPSHEETHEADERA;
- {$EXTERNALSYM PROPSHEETHEADERA}
- LPPROPSHEETHEADERA = ^PROPSHEETHEADERA;
- {$EXTERNALSYM LPPROPSHEETHEADERA}
- LPCPROPSHEETHEADERA = LPPROPSHEETHEADERA;
- {$EXTERNALSYM LPCPROPSHEETHEADERA}
- TPropSheetHeaderA = PROPSHEETHEADERA;
- PPropSheetHeaderA = LPPROPSHEETHEADERA;
- _PROPSHEETHEADERW = record
- dwSize: DWORD;
- dwFlags: DWORD;
- hwndParent: HWND;
- hInstance: HINST;
- u: record
- case Integer of
- 0: (hIcon: HICON);
- 1: (pszIcon: LPCWSTR);
- end;
- pszCaption: LPCWSTR;
- nPages: UINT;
- u2: record
- case Integer of
- 0: (nStartPage: UINT);
- 1: (pStartPage: LPCWSTR);
- end;
- u3: record
- case Integer of
- 0: (ppsp: LPCPROPSHEETPAGEW);
- 1: (phpage: PHPROPSHEETPAGE);
- end;
- pfnCallback: PFNPROPSHEETCALLBACK;
- {$IFDEF IE400_UP}
- u4: record
- case Integer of
- 0: (hbmWatermark: HBITMAP);
- 1: (pszbmWatermark: LPCWSTR);
- end;
- hplWatermark: HPALETTE;
- u5: record
- case Integer of
- 0: (hbmHeader: HBITMAP); // Header bitmap shares the palette with watermark
- 1: (pszbmHeader: LPCWSTR);
- end;
- {$ENDIF IE400_UP}
- end;
- {$EXTERNALSYM _PROPSHEETHEADERW}
- PROPSHEETHEADERW =_PROPSHEETHEADERW;
- {$EXTERNALSYM PROPSHEETHEADERW}
- LPPROPSHEETHEADERW = ^PROPSHEETHEADERW;
- {$EXTERNALSYM LPPROPSHEETHEADERW}
- LPCPROPSHEETHEADERW = LPPROPSHEETHEADERW;
- {$EXTERNALSYM LPCPROPSHEETHEADERW}
- TPropSheetHeaderW = PROPSHEETHEADERW;
- PPropSheetHeaderW = LPPROPSHEETHEADERW;
- {$IFDEF UNICODE}
- PROPSHEETHEADER = PROPSHEETHEADERW;
- {$EXTERNALSYM PROPSHEETHEADER}
- LPPROPSHEETHEADER = LPPROPSHEETHEADERW;
- {$EXTERNALSYM LPPROPSHEETHEADER}
- LPCPROPSHEETHEADER = LPCPROPSHEETHEADERW;
- {$EXTERNALSYM LPCPROPSHEETHEADER}
- TPropSheetHeader = TPropSheetHeaderW;
- PPropSheetHeader = PPropSheetHeaderW;
- const
- PROPSHEETHEADER_V1_SIZE = 40; {PROPSHEETHEADERW_V1_SIZE}
- {$EXTERNALSYM PROPSHEETHEADER_V1_SIZE}
- {$ELSE}
- PROPSHEETHEADER = PROPSHEETHEADERA;
- {$EXTERNALSYM PROPSHEETHEADER}
- LPPROPSHEETHEADER = LPPROPSHEETHEADERA;
- {$EXTERNALSYM LPPROPSHEETHEADER}
- LPCPROPSHEETHEADER = LPCPROPSHEETHEADERA;
- {$EXTERNALSYM LPCPROPSHEETHEADER}
- TPropSheetHeader = TPropSheetHeaderA;
- PPropSheetHeader = PPropSheetHeaderA;
- const
- PROPSHEETHEADER_V1_SIZE = 40; {PROPSHEETHEADERA_V1_SIZE}
- {$EXTERNALSYM PROPSHEETHEADER_V1_SIZE}
- {$ENDIF UNICODE}
- const
- PSCB_INITIALIZED = 1;
- {$EXTERNALSYM PSCB_INITIALIZED}
- PSCB_PRECREATE = 2;
- {$EXTERNALSYM PSCB_PRECREATE}
- function CreatePropertySheetPageA(const lppsp: PROPSHEETPAGEA): HPROPSHEETPAGE; stdcall;
- {$EXTERNALSYM CreatePropertySheetPageA}
- function CreatePropertySheetPageW(const lppsp: PROPSHEETPAGEW): HPROPSHEETPAGE; stdcall;
- {$EXTERNALSYM DestroyPropertySheetPage}
- function DestroyPropertySheetPage(hPSPage: HPROPSHEETPAGE): BOOL; stdcall;
- {$EXTERNALSYM DestroyPropertySheetPage}
- function PropertySheetA(const lppsph: PROPSHEETHEADERA): INT_PTR; stdcall;
- {$EXTERNALSYM PropertySheetA}
- function PropertySheetW(const lppsph: PROPSHEETHEADERW): INT_PTR; stdcall;
- {$EXTERNALSYM PropertySheetW}
- function CreatePropertySheetPage(const lppsp: PROPSHEETPAGE): HPROPSHEETPAGE; stdcall;
- {$EXTERNALSYM DestroyPropertySheetPage}
- function PropertySheet(const lppsph: PROPSHEETHEADER): INT_PTR; stdcall;
- {$EXTERNALSYM PropertySheet}
- type
- LPFNADDPROPSHEETPAGE = function(page: HPROPSHEETPAGE; lParam: LPARAM): BOOL; stdcall;
- {$EXTERNALSYM LPFNADDPROPSHEETPAGE}
- LPFNADDPROPSHEETPAGES = function(pv: LPVOID; fn: LPFNADDPROPSHEETPAGE; lParam: LPARAM): BOOL; stdcall;
- {$EXTERNALSYM LPFNADDPROPSHEETPAGES}
- _PSHNOTIFY = record
- hdr: NMHDR;
- lParam: LPARAM;
- end;
- {$EXTERNALSYM _PSHNOTIFY}
- PSHNOTIFY = _PSHNOTIFY;
- {$EXTERNALSYM PSHNOTIFY}
- LPPSHNOTIFY = ^PSHNOTIFY;
- {$EXTERNALSYM LPPSHNOTIFY}
- TPSHNotify = PSHNOTIFY;
- PPSHNotify = LPPSHNOTIFY;
- const
- PSN_FIRST = ULONG(0-200);
- {$EXTERNALSYM PSN_FIRST}
- PSN_LAST = ULONG(0-299);
- {$EXTERNALSYM PSN_LAST}
- PSN_SETACTIVE = PSN_FIRST - 0;
- {$EXTERNALSYM PSN_SETACTIVE}
- PSN_KILLACTIVE = PSN_FIRST - 1;
- {$EXTERNALSYM PSN_KILLACTIVE}
- //PSN_VALIDATE = PSN_FIRST - 1;
- //{$EXTERNALSYM PSN_VALIDATE}
- PSN_APPLY = PSN_FIRST - 2;
- {$EXTERNALSYM PSN_APPLY}
- PSN_RESET = PSN_FIRST - 3;
- {$EXTERNALSYM PSN_RESET}
- //PSN_CANCEL = PSN_FIRST - 3;
- //{$EXTERNALSYM PSN_CANCEL}
- PSN_HELP = PSN_FIRST - 5;
- {$EXTERNALSYM PSN_HELP}
- PSN_WIZBACK = PSN_FIRST - 6;
- {$EXTERNALSYM PSN_WIZBACK}
- PSN_WIZNEXT = PSN_FIRST - 7;
- {$EXTERNALSYM PSN_WIZNEXT}
- PSN_WIZFINISH = PSN_FIRST - 8;
- {$EXTERNALSYM PSN_WIZFINISH}
- PSN_QUERYCANCEL = PSN_FIRST - 9;
- {$EXTERNALSYM PSN_QUERYCANCEL}
- PSN_GETOBJECT = PSN_FIRST - 10;
- {$EXTERNALSYM PSN_GETOBJECT}
- PSN_TRANSLATEACCELERATOR = PSN_FIRST - 12;
- {$EXTERNALSYM PSN_TRANSLATEACCELERATOR}
- PSN_QUERYINITIALFOCUS = PSN_FIRST - 13;
- {$EXTERNALSYM PSN_QUERYINITIALFOCUS}
- PSNRET_NOERROR = 0;
- {$EXTERNALSYM PSNRET_NOERROR}
- PSNRET_INVALID = 1;
- {$EXTERNALSYM PSNRET_INVALID}
- PSNRET_INVALID_NOCHANGEPAGE = 2;
- {$EXTERNALSYM PSNRET_INVALID_NOCHANGEPAGE}
- PSNRET_MESSAGEHANDLED = 3;
- {$EXTERNALSYM PSNRET_MESSAGEHANDLED}
- PSM_SETCURSEL = WM_USER + 101;
- {$EXTERNALSYM PSM_SETCURSEL}
- function PropSheet_SetCurSel(hPropSheetDlg: HWND; hPage: HPROPSHEETPAGE; Index: Integer): BOOL;
- const
- PSM_REMOVEPAGE = WM_USER + 102;
- {$EXTERNALSYM PSM_REMOVEPAGE}
- procedure PropSheet_RemovePage(hPropSheetDlg: HWND; Index: Integer; hPage: HPROPSHEETPAGE);
- const
- PSM_ADDPAGE = WM_USER + 103;
- {$EXTERNALSYM PSM_ADDPAGE}
- function PropSheet_AddPage(hPropSheetDlg: HWND; hpage: HPROPSHEETPAGE): BOOL;
- const
- PSM_CHANGED = WM_USER + 104;
- {$EXTERNALSYM PSM_CHANGED}
- function PropSheet_Changed(hPropSheetDlg: HWND; hwndPage: HWND): BOOL;
- const
- PSM_RESTARTWINDOWS = WM_USER + 105;
- {$EXTERNALSYM PSM_RESTARTWINDOWS}
- procedure PropSheet_RestartWindows(hPropSheetDlg: HWND);
- const
- PSM_REBOOTSYSTEM = WM_USER + 106;
- {$EXTERNALSYM PSM_REBOOTSYSTEM}
- procedure PropSheet_RebootSystem(hPropSheetDlg: HWND);
- const
- PSM_CANCELTOCLOSE = WM_USER + 107;
- {$EXTERNALSYM PSM_CANCELTOCLOSE}
- procedure PropSheet_CancelToClose(hPropSheetDlg: HWND);
- const
- PSM_QUERYSIBLINGS = WM_USER + 108;
- {$EXTERNALSYM PSM_QUERYSIBLINGS}
- function PropSheet_QuerySiblings(hPropSheetDlg: HWND; Param1: WPARAM; Param2: LPARAM): Integer;
- const
- PSM_UNCHANGED = WM_USER + 109;
- {$EXTERNALSYM PSM_UNCHANGED}
- procedure PropSheet_UnChanged(hPropSheetDlg: HWND; hwndPage: HWND);
- const
- PSM_APPLY = WM_USER + 110;
- {$EXTERNALSYM PSM_APPLY}
- function PropSheet_Apply(hPropSheetDlg: HWND): BOOL;
- const
- PSM_SETTITLEA = WM_USER + 111;
- {$EXTERNALSYM PSM_SETTITLEA}
- PSM_SETTITLEW = WM_USER + 120;
- {$EXTERNALSYM PSM_SETTITLEW}
- {$IFDEF UNICODE}
- PSM_SETTITLE = PSM_SETTITLEW;
- {$EXTERNALSYM PSM_SETTITLE}
- {$ELSE}
- PSM_SETTITLE = PSM_SETTITLEA;
- {$EXTERNALSYM PSM_SETTITLE}
- {$ENDIF UNICODE}
- procedure PropSheet_SetTitle(hPropSheetDlg: HWND; dwStyle: DWORD; lpszText: LPTSTR);
- const
- PSM_SETWIZBUTTONS = WM_USER + 112;
- {$EXTERNALSYM PSM_SETWIZBUTTONS}
- procedure PropSheet_SetWizButtons(hPropSheetDlg: HWND; dwFlags: DWORD);
- const
- PSWIZB_BACK = $00000001;
- {$EXTERNALSYM PSWIZB_BACK}
- PSWIZB_NEXT = $00000002;
- {$EXTERNALSYM PSWIZB_NEXT}
- PSWIZB_FINISH = $00000004;
- {$EXTERNALSYM PSWIZB_FINISH}
- PSWIZB_DISABLEDFINISH = $00000008;
- {$EXTERNALSYM PSWIZB_DISABLEDFINISH}
- PSM_PRESSBUTTON = WM_USER + 113;
- {$EXTERNALSYM PSM_PRESSBUTTON}
- function PropSheet_PressButton(hPropSheetDlg: HWND; iButton: Integer): BOOL;
- const
- PSBTN_BACK = 0;
- {$EXTERNALSYM PSBTN_BACK}
- PSBTN_NEXT = 1;
- {$EXTERNALSYM PSBTN_NEXT}
- PSBTN_FINISH = 2;
- {$EXTERNALSYM PSBTN_FINISH}
- PSBTN_OK = 3;
- {$EXTERNALSYM PSBTN_OK}
- PSBTN_APPLYNOW = 4;
- {$EXTERNALSYM PSBTN_APPLYNOW}
- PSBTN_CANCEL = 5;
- {$EXTERNALSYM PSBTN_CANCEL}
- PSBTN_HELP = 6;
- {$EXTERNALSYM PSBTN_HELP}
- PSBTN_MAX = 6;
- {$EXTERNALSYM PSBTN_MAX}
- PSM_SETCURSELID = WM_USER + 114;
- {$EXTERNALSYM PSM_SETCURSELID}
- function PropSheet_SetCurSelByID(hPropSheetDlg: HWND; id: Integer): BOOL;
- const
- PSM_SETFINISHTEXTA = WM_USER + 115;
- {$EXTERNALSYM PSM_SETFINISHTEXTA}
- PSM_SETFINISHTEXTW = WM_USER + 121;
- {$EXTERNALSYM PSM_SETFINISHTEXTW}
- {$IFDEF UNICODE}
- PSM_SETFINISHTEXT = PSM_SETFINISHTEXTW;
- {$EXTERNALSYM PSM_SETFINISHTEXT}
- {$ELSE}
- PSM_SETFINISHTEXT = PSM_SETFINISHTEXTA;
- {$EXTERNALSYM PSM_SETFINISHTEXT}
- {$ENDIF UNICODE}
- procedure PropSheet_SetFinishText(hPropSheetDlg: HWND; lpszText: LPTSTR);
- const
- PSM_GETTABCONTROL = WM_USER + 116;
- {$EXTERNALSYM PSM_GETTABCONTROL}
- function PropSheet_GetTabControl(hPropSheetDlg: HWND): HWND;
- const
- PSM_ISDIALOGMESSAGE = WM_USER + 117;
- {$EXTERNALSYM PSM_ISDIALOGMESSAGE}
- function PropSheet_IsDialogMessage(hDlg: HWND; pMsg: LPMSG): BOOL;
- const
- PSM_GETCURRENTPAGEHWND = WM_USER + 118;
- {$EXTERNALSYM PSM_GETCURRENTPAGEHWND}
- function PropSheet_GetCurrentPageHwnd(hDlg: HWND): HWND;
- const
- PSM_INSERTPAGE = WM_USER + 119;
- {$EXTERNALSYM PSM_INSERTPAGE}
- function PropSheet_InsertPage(hPropSheetDlg: HWND; index: Integer; hpage: HPROPSHEETPAGE): BOOL;
- const
- PSM_SETHEADERTITLEA = WM_USER + 125;
- {$EXTERNALSYM PSM_SETHEADERTITLEA}
- PSM_SETHEADERTITLEW = WM_USER + 126;
- {$EXTERNALSYM PSM_SETHEADERTITLEW}
- {$IFDEF UNICODE}
- PSM_SETHEADERTITLE = PSM_SETHEADERTITLEW;
- {$EXTERNALSYM PSM_SETHEADERTITLE}
- {$ELSE}
- PSM_SETHEADERTITLE = PSM_SETHEADERTITLEA;
- {$EXTERNALSYM PSM_SETHEADERTITLE}
- {$ENDIF UNICODE}
- function PropSheet_SetHeaderTitle(hWizardDlg: HWND; iPageIndex: Integer; lpszText: LPCSTR): Integer;
- const
- PSM_SETHEADERSUBTITLEA = WM_USER + 127;
- {$EXTERNALSYM PSM_SETHEADERSUBTITLEA}
- PSM_SETHEADERSUBTITLEW = WM_USER + 128;
- {$EXTERNALSYM PSM_SETHEADERSUBTITLEW}
- {$IFDEF UNICODE}
- PSM_SETHEADERSUBTITLE = PSM_SETHEADERSUBTITLEW;
- {$EXTERNALSYM PSM_SETHEADERSUBTITLE}
- {$ELSE}
- PSM_SETHEADERSUBTITLE = PSM_SETHEADERSUBTITLEA;
- {$EXTERNALSYM PSM_SETHEADERSUBTITLE}
- {$ENDIF UNICODE}
- procedure PropSheet_SetHeaderSubTitle(hWizardDlg: HWND; iPageIndex: Integer; pszHeaderSubTitle: LPCSTR);
- const
- PSM_HWNDTOINDEX = WM_USER + 129;
- {$EXTERNALSYM PSM_HWNDTOINDEX}
- function PropSheet_HwndToIndex(hPropSheetDlg: HWND; hPageDlg: HWND): Integer;
- const
- PSM_INDEXTOHWND = WM_USER + 130;
- {$EXTERNALSYM PSM_INDEXTOHWND}
- function PropSheet_IndexToHwnd(hPropSheetDlg: HWND; iPageIndex: Integer): HWND;
- const
- PSM_PAGETOINDEX = WM_USER + 131;
- {$EXTERNALSYM PSM_PAGETOINDEX}
- function PropSheet_PageToIndex(hPropSheetDlg: HWND; hPage: HPROPSHEETPAGE): Integer;
- const
- PSM_INDEXTOPAGE = WM_USER + 132;
- {$EXTERNALSYM PSM_INDEXTOPAGE}
- function PropSheet_IndexToPage(hPropSheetDlg: HWND; iPageIndex: Integer): HPROPSHEETPAGE;
- const
- PSM_IDTOINDEX = WM_USER + 133;
- {$EXTERNALSYM PSM_IDTOINDEX}
- function PropSheet_IdToIndex(hPropSheetDlg: HWND; iPageId: Integer): Integer;
- const
- PSM_INDEXTOID = WM_USER + 134;
- {$EXTERNALSYM PSM_INDEXTOID}
- function PropSheet_IndexToId(hPropSheetDlg: HWND; iPageIndex: Integer): Integer;
- const
- PSM_GETRESULT = WM_USER + 135;
- {$EXTERNALSYM PSM_GETRESULT}
- function PropSheet_GetResult(hPropSheetDlg: HWND): BOOL;
- const
- PSM_RECALCPAGESIZES = WM_USER + 136;
- {$EXTERNALSYM PSM_RECALCPAGESIZES}
- function PropSheet_RecalcPageSizes(hPropSheetDlg: HWND): BOOL;
- const
- ID_PSRESTARTWINDOWS = $2;
- {$EXTERNALSYM ID_PSRESTARTWINDOWS}
- ID_PSREBOOTSYSTEM = ID_PSRESTARTWINDOWS or $1;
- {$EXTERNALSYM ID_PSREBOOTSYSTEM}
- WIZ_CXDLG = 276;
- {$EXTERNALSYM WIZ_CXDLG}
- WIZ_CYDLG = 140;
- {$EXTERNALSYM WIZ_CYDLG}
- WIZ_CXBMP = 80;
- {$EXTERNALSYM WIZ_CXBMP}
- WIZ_BODYX = 92;
- {$EXTERNALSYM WIZ_BODYX}
- WIZ_BODYCX = 184;
- {$EXTERNALSYM WIZ_BODYCX}
- PROP_SM_CXDLG = 212;
- {$EXTERNALSYM PROP_SM_CXDLG}
- PROP_SM_CYDLG = 188;
- {$EXTERNALSYM PROP_SM_CYDLG}
- PROP_MED_CXDLG = 227;
- {$EXTERNALSYM PROP_MED_CXDLG}
- PROP_MED_CYDLG = 215;
- {$EXTERNALSYM PROP_MED_CYDLG}
- PROP_LG_CXDLG = 252;
- {$EXTERNALSYM PROP_LG_CXDLG}
- PROP_LG_CYDLG = 218;
- {$EXTERNALSYM PROP_LG_CYDLG}
- implementation
- uses
- JwaWinDLLNames;
- function PropSheet_SetCurSel(hPropSheetDlg: HWND; hPage: HPROPSHEETPAGE; Index: Integer): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_SETCURSEL, WPARAM(Index), LPARAM(hPage)));
- end;
- procedure PropSheet_RemovePage(hPropSheetDlg: HWND; Index: Integer; hPage: HPROPSHEETPAGE);
- begin
- SendMessage(hPropSheetDlg, PSM_REMOVEPAGE, Index, LPARAM(hPage));
- end;
- function PropSheet_AddPage(hPropSheetDlg: HWND; hpage: HPROPSHEETPAGE): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_ADDPAGE, 0, LPARAM(hpage)));
- end;
- function PropSheet_Changed(hPropSheetDlg: HWND; hwndPage: HWND): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_CHANGED, WPARAM(hwndPage), 0));
- end;
- procedure PropSheet_RestartWindows(hPropSheetDlg: HWND);
- begin
- SendMessage(hPropSheetDlg, PSM_RESTARTWINDOWS, 0, 0);
- end;
- procedure PropSheet_RebootSystem(hPropSheetDlg: HWND);
- begin
- SendMessage(hPropSheetDlg, PSM_REBOOTSYSTEM, 0, 0);
- end;
- procedure PropSheet_CancelToClose(hPropSheetDlg: HWND);
- begin
- PostMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0);
- end;
- function PropSheet_QuerySiblings(hPropSheetDlg: HWND; Param1: WPARAM; Param2: LPARAM): Integer;
- begin
- Result := SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, Param1, Param2);
- end;
- procedure PropSheet_UnChanged(hPropSheetDlg: HWND; hwndPage: HWND);
- begin
- SendMessage(hPropSheetDlg, PSM_UNCHANGED, WPARAM(hwndPage), 0);
- end;
- function PropSheet_Apply(hPropSheetDlg: HWND): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_APPLY, 0, 0));
- end;
- procedure PropSheet_SetTitle(hPropSheetDlg: HWND; dwStyle: DWORD; lpszText: LPTSTR);
- begin
- SendMessage(hPropSheetDlg, PSM_SETTITLE, dwStyle, LPARAM(LPCTSTR(lpszText)));
- end;
- procedure PropSheet_SetWizButtons(hPropSheetDlg: HWND; dwFlags: DWORD);
- begin
- PostMessage(hPropSheetDlg, PSM_SETWIZBUTTONS, 0, LPARAM(dwFlags));
- end;
- function PropSheet_PressButton(hPropSheetDlg: HWND; iButton: Integer): BOOL;
- begin
- Result := PostMessage(hPropSheetDlg, PSM_PRESSBUTTON, WPARAM(iButton), 0);
- end;
- function PropSheet_SetCurSelByID(hPropSheetDlg: HWND; id: Integer): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_SETCURSELID, 0, LPARAM(id)));
- end;
- procedure PropSheet_SetFinishText(hPropSheetDlg: HWND; lpszText: LPTSTR);
- begin
- SendMessage(hPropSheetDlg, PSM_SETFINISHTEXT, 0, LPARAM(lpszText));
- end;
- function PropSheet_GetTabControl(hPropSheetDlg: HWND): HWND;
- begin
- Result := SendMessage(hPropSheetDlg, PSM_GETTABCONTROL, 0, 0);
- end;
- function PropSheet_IsDialogMessage(hDlg: HWND; pMsg: LPMSG): BOOL;
- begin
- Result := BOOL(SendMessage(hDlg, PSM_ISDIALOGMESSAGE, 0, LPARAM(pMsg)));
- end;
- function PropSheet_GetCurrentPageHwnd(hDlg: HWND): HWND;
- begin
- Result := SendMessage(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0);
- end;
- function PropSheet_InsertPage(hPropSheetDlg: HWND; index: Integer; hpage: HPROPSHEETPAGE): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_INSERTPAGE, WPARAM(index), LPARAM(hpage)));
- end;
- function PropSheet_SetHeaderTitle(hWizardDlg: HWND; iPageIndex: Integer; lpszText: LPCSTR): Integer;
- begin
- Result := SendMessage(hWizardDlg, PSM_SETHEADERTITLE, WPARAM(iPageIndex), LPARAM(lpszText));
- end;
- procedure PropSheet_SetHeaderSubTitle(hWizardDlg: HWND; iPageIndex: Integer; pszHeaderSubTitle: LPCSTR);
- begin
- SendMessage(hWizardDlg, PSM_SETHEADERSUBTITLE, WPARAM(iPageIndex), LPARAM(pszHeaderSubTitle));
- end;
- function PropSheet_HwndToIndex(hPropSheetDlg: HWND; hPageDlg: HWND): Integer;
- begin
- Result := SendMessage(hPropSheetDlg, PSM_HWNDTOINDEX, WPARAM(hPageDlg), 0);
- end;
- function PropSheet_IndexToHwnd(hPropSheetDlg: HWND; iPageIndex: Integer): HWND;
- begin
- Result := SendMessage(hPropSheetDlg, PSM_INDEXTOHWND, WPARAM(iPageIndex), 0);
- end;
- function PropSheet_PageToIndex(hPropSheetDlg: HWND; hPage: HPROPSHEETPAGE): Integer;
- begin
- Result := SendMessage(hPropSheetDlg, PSM_PAGETOINDEX, 0, LPARAM(hpage));
- end;
- function PropSheet_IndexToPage(hPropSheetDlg: HWND; iPageIndex: Integer): HPROPSHEETPAGE;
- begin
- Result := HPROPSHEETPAGE(SendMessage(hPropSheetDlg, PSM_INDEXTOPAGE, WPARAM(iPageIndex), 0));
- end;
- function PropSheet_IdToIndex(hPropSheetDlg: HWND; iPageId: Integer): Integer;
- begin
- Result := SendMessage(hPropSheetDlg, PSM_IDTOINDEX, 0, LPARAM(iPageId));
- end;
- function PropSheet_IndexToId(hPropSheetDlg: HWND; iPageIndex: Integer): Integer;
- begin
- Result := SendMessage(hPropSheetDlg, PSM_INDEXTOID, WPARAM(iPageIndex), 0)
- end;
- function PropSheet_GetResult(hPropSheetDlg: HWND): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_GETRESULT, 0, 0));
- end;
- function PropSheet_RecalcPageSizes(hPropSheetDlg: HWND): BOOL;
- begin
- Result := BOOL(SendMessage(hPropSheetDlg, PSM_RECALCPAGESIZES, 0, 0));
- end;
- {$IFDEF DYNAMIC_LINK}
- var
- _CreatePropertySheetPageA: Pointer;
- function CreatePropertySheetPageA;
- begin
- GetProcedureAddress(_CreatePropertySheetPageA, comctl32, 'CreatePropertySheetPageA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_CreatePropertySheetPageA]
- end;
- end;
- var
- _CreatePropertySheetPageW: Pointer;
- function CreatePropertySheetPageW;
- begin
- GetProcedureAddress(_CreatePropertySheetPageW, comctl32, 'CreatePropertySheetPageW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_CreatePropertySheetPageW]
- end;
- end;
- var
- _DestroyPropertySheetPage: Pointer;
- function DestroyPropertySheetPage;
- begin
- GetProcedureAddress(_DestroyPropertySheetPage, comctl32, 'DestroyPropertySheetPage');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_DestroyPropertySheetPage]
- end;
- end;
- var
- _PropertySheetA: Pointer;
- function PropertySheetA;
- begin
- GetProcedureAddress(_PropertySheetA, comctl32, 'PropertySheetA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_PropertySheetA]
- end;
- end;
- var
- _PropertySheetW: Pointer;
- function PropertySheetW;
- begin
- GetProcedureAddress(_PropertySheetW, comctl32, 'PropertySheetW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_PropertySheetW]
- end;
- end;
- var
- _CreatePropertySheetPage: Pointer;
- function CreatePropertySheetPage;
- begin
- GetProcedureAddress(_CreatePropertySheetPage, comctl32, 'CreatePropertySheetPage' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_CreatePropertySheetPage]
- end;
- end;
- var
- _PropertySheet: Pointer;
- function PropertySheet;
- begin
- GetProcedureAddress(_PropertySheet, comctl32, 'PropertySheet' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_PropertySheet]
- end;
- end;
- {$ELSE}
- function CreatePropertySheetPageA; external comctl32 name 'CreatePropertySheetPageA';
- function CreatePropertySheetPageW; external comctl32 name 'CreatePropertySheetPageW';
- function DestroyPropertySheetPage; external comctl32 name 'DestroyPropertySheetPage';
- function PropertySheetA; external comctl32 name 'PropertySheetA';
- function PropertySheetW; external comctl32 name 'PropertySheetW';
- function CreatePropertySheetPage; external comctl32 name 'CreatePropertySheetPage' + AWSuffix;
- function PropertySheet; external comctl32 name 'PropertySheet' + AWSuffix;
- {$ENDIF DYNAMIC_LINK}
- end.
|