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

📄 jwaprsht.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  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';


{$IFDEF DYNAMIC_LINK}
var
  _CreatePropertySheetPageA: Pointer;

function CreatePropertySheetPageA;
begin
  GetProcedureAddress(_CreatePropertySheetPageA, comctl32, 'CreatePropertySheetPageA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePropertySheetPageA]
  end;
end;
{$ELSE}
function CreatePropertySheetPageA; external comctl32 name 'CreatePropertySheetPageA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _CreatePropertySheetPageW: Pointer;

function CreatePropertySheetPageW;
begin
  GetProcedureAddress(_CreatePropertySheetPageW, comctl32, 'CreatePropertySheetPageW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePropertySheetPageW]
  end;
end;
{$ELSE}
function CreatePropertySheetPageW; external comctl32 name 'CreatePropertySheetPageW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _DestroyPropertySheetPage: Pointer;

function DestroyPropertySheetPage;
begin
  GetProcedureAddress(_DestroyPropertySheetPage, comctl32, 'DestroyPropertySheetPage');
  asm
    mov esp, ebp
    pop ebp
    jmp [_DestroyPropertySheetPage]
  end;
end;
{$ELSE}
function DestroyPropertySheetPage; external comctl32 name 'DestroyPropertySheetPage';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _PropertySheetA: Pointer;

function PropertySheetA;
begin
  GetProcedureAddress(_PropertySheetA, comctl32, 'PropertySheetA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_PropertySheetA]
  end;
end;
{$ELSE}
function PropertySheetA; external comctl32 name 'PropertySheetA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _PropertySheetW: Pointer;

function PropertySheetW;
begin
  GetProcedureAddress(_PropertySheetW, comctl32, 'PropertySheetW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_PropertySheetW]
  end;
end;
{$ELSE}
function PropertySheetW; external comctl32 name 'PropertySheetW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _CreatePropertySheetPage: Pointer;

function CreatePropertySheetPage;
begin
  GetProcedureAddress(_CreatePropertySheetPage, comctl32, 'CreatePropertySheetPageW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePropertySheetPage]
  end;
end;
{$ELSE}
function CreatePropertySheetPage; external comctl32 name 'CreatePropertySheetPageW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _PropertySheet: Pointer;

function PropertySheet;
begin
  GetProcedureAddress(_PropertySheet, comctl32, 'PropertySheetW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_PropertySheet]
  end;
end;
{$ELSE}
function PropertySheet; external comctl32 name 'PropertySheetW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _CreatePropertySheetPage: Pointer;

function CreatePropertySheetPage;
begin
  GetProcedureAddress(_CreatePropertySheetPage, comctl32, 'CreatePropertySheetPageA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePropertySheetPage]
  end;
end;
{$ELSE}
function CreatePropertySheetPage; external comctl32 name 'CreatePropertySheetPageA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _PropertySheet: Pointer;

function PropertySheet;
begin
  GetProcedureAddress(_PropertySheet, comctl32, 'PropertySheetA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_PropertySheet]
  end;
end;
{$ELSE}
function PropertySheet; external comctl32 name 'PropertySheetA';
{$ENDIF DYNAMIC_LINK}
{$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 + -