⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prsht.pas

📁 详细Windows API大全有关知识以及相关问题
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  {$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}

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}

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}

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}

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

const
  comctl32 = 'comctl32.dll';

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';

{$IFDEF UNICODE}
function CreatePropertySheetPage; external comctl32 name 'CreatePropertySheetPageW';
function PropertySheet; external comctl32 name 'PropertySheetW';
{$ELSE}
function CreatePropertySheetPage; external comctl32 name 'CreatePropertySheetPageA';
function PropertySheet; external comctl32 name 'PropertySheetA';
{$ENDIF}

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;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -