[deutsch]

Source file: /~heha/hs_freeware/kcemu_.exe[Download]/SRC/PRSHT.PAS

Show line numbers
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
Wrong umlauts? - Assume file is ANSI (CP1252) encoded
Assume file is OEM (CP437) encoded