unit prsht;
{Windows9x Property Sheet und Wizard}
interface
uses WinProcs,WinTypes;
const
PSH_Default =$0000;
PSH_PropTitle =$0001; {setze "Eigenschaften von" vor Titel}
PSH_UseHIcon =$0002;
PSH_UseIconID =$0004;
PSH_PropSheetPage =$0008; {Seiten-Array folgt dem Header}
PSH_MultilineTabs =$0010;
PSH_WizardHasFinish =$0010; {dasselbe für Zauberer}
PSH_Wizard =$0020;
PSH_UsePStartPage =$0040;
PSH_NoApplyNow =$0080;
PSH_UseCallback =$0100;
PSH_HasHelp =$0200;
PSH_Modeless =$0400;
PSH_RtlReading =$0800;
PSH_WizardContextHelp =$1000;
{----- New flags for Wizard97 -----------}
PSH_Wizard97 =$00002000;
PSH_WaterMark =$00008000;
PSH_UseHBMWaterMark =$00010000; {User pass in a hbmWaterMark instead of pszbmWaterMark}
PSH_UseHPLWaterMark =$00020000;
PSH_StretchWaterMark =$00040000; {stretchWaterMark also applies for the Header}
PSH_Header =$00080000;
PSH_UseHBMHeader =$00100000;
PSH_UsePageLang =$00200000; {Use frame dialog template matched to page}
PSP_Default =$0000;
PSP_DlgIndirect =$0001;
PSP_UseHIcon =$0002;
PSP_UseIconID =$0004;
PSP_UseTitle =$0008; {benutze pszTitle anstatt Dialog-Titel}
PSP_RtlReading =$0010;
PSP_HasHelp =$0020;
PSP_UseRefParent =$0040; {für Referenzzählungen...?}
PSP_UseCallback =$0080;
PSP_Premature =$0400;
{----- New flags for wizard97 -----------}
PSP_HideHeader =$0800;
PSP_UseHeaderTitle =$1000;
PSP_UseHeaderSubTitle =$2000;
type
PPropSheetPage=^TPropSheetPage;
TPropSheetPage=record
dwSize, dwFlags: LongInt;
hInstance: THandle;
pszTemplate, pszIcon, pszTitle: PChar;
pfnDlgProc: TFarProc;
lParam: LongInt;
pfnCallback: TFarProc;
pcRefParent: PLongInt;
end;
{Wizard97}
PPropSheetPageEx=^TPropSheetPageEx;
TPropSheetPageEx=record
psp: TPropSheetPage;
pszHeaderTitle: PChar; {this is displayed in the header}
pszHeaderSubTitle: PChar;
end;
PPropSheetHeader=^TPropSheetHeader;
TPropSheetHeader=record
dwSize, dwFlags: LongInt;
hwndParent, hInstance: THandle;
pszIcon: LongInt;
pszCaption: PChar;
nPages:Word;
nStartPage: LongInt; {nullbasiert!}
ppsp: PPropSheetPage;
pcRefParent: PLongInt;
end;
type
PNMHdr=^TNMHdr;
TNMHdr=record
hwndfrom: HWnd;
rsv1: Word;
idfrom: Word;
rsv2: Word;
code: Word;
rsv3: Word;
end;
type
PPshNotify=^TPshNotify;
TPshNotify=record
hdr: TNMHdr;
lparam: LongInt;
end;
const
WM_Notify =$004E;
PSN_First =Word(-200);
PSN_Last =Word(-299);
PSN_SetActive =PSN_First-0;
PSN_KillActive =PSN_First-1;
PSN_Apply =PSN_First-2;
PSN_Reset =PSN_First-3; {wie CANCEL}
PSN_Help =PSN_First-5;
PSN_WizBack =PSN_First-6;
PSN_WizNext =PSN_First-7;
PSN_WizFinish =PSN_First-8;
PSN_QueryCancel =PSN_First-9;
PSN_GetObject =PSN_First-10; {Wizard97}
PSNRET_NoError =0;
PSNRET_Invalid =1;
PSNRET_Invalid_NoCchangePage =2;
PSM_SetCurSel =WM_User+101; {wParam=Index, lParam=hPage}
PSM_RemovePage =WM_User+102; {Index, hPage}
PSM_AddPage =WM_User+103; {0, hPage}
PSM_Changed =WM_User+104; {hwnd, 0}
PSM_RestartWindows =WM_User+105; {0 0}
PSM_RebootSystem =WM_User+106; {0 0}
PSM_CancelToClose =WM_User+107; {0 0}
PSM_QuerySiblings =WM_User+108; {wParam lParam}
PSM_Unchanged =WM_User+109; {hwnd 0}
PSM_Apply =WM_User+110; {0 0}
PSM_SetTitle =WM_User+111; {wStyle lpszText (Ansi)}
PSM_SetWizButtons =WM_User+112; {0 dwFlags}
PSWIZB_Back =$0001;
PSWIZB_Next =$0002;
PSWIZB_Finish =$0004;
PSWIZB_DisabledFinish =$0008;
PSM_PressButton =WM_User+113; {iButton 0}
PSBTN_Back =0;
PSBTN_Next =1;
PSBTN_Finish =2;
PSBTN_OK =3;
PSBTN_ApplyNow =4;
PSBTN_Cancel =5;
PSBTN_Help =6;
PSBTN_Max =6;
PSM_SetCurSelID =WM_User+114; {0 id}
PSM_SetFinishText =WM_User+115; {0 lpszText(Ansi)}
PSM_GetTabControl =WM_User+116; {0 0}
PSM_IsDialogMessage =WM_User+117; {0 pMsg}
PSM_GetCurrentPageHWnd =WM_User+118; {0 0}
ID_PSRestartWindows =2;
ID_PSRebootSystem =3;
WIZ_CXDlg =276;
WIZ_CYDlg =140;
WIZ_CXBmp =80;
WIZ_BodyX =92;
WIZ_BodyCX =184;
PROP_SM_CXDlg =212;
PROP_SM_CYDlg =188;
PROP_MED_CXDlg =227;
PROP_MED_CYDlg =215;
PROP_LG_CXDlg =252;
PROP_LG_CYDlg =218;
function PropertySheet(const psh: TPropSheetHeader):Integer;
function CreatePropertySheetPage(const psp: TPropSheetPage):THandle;
function DestroyPropertySheetPage(hpsp: THandle):Bool;
implementation
function PropertySheet(const psh: TPropSheetHeader):Integer;
external 'COMMCTRL' index 159;
function CreatePropertySheetPage(const psp: TPropSheetPage):THandle;
external 'COMMCTRL' index 160;
function DestroyPropertySheetPage(hpsp: THandle):Bool;
external 'COMMCTRL' index 161;
end.
| Detected encoding: OEM (CP437) | 1 |