📄 jwaprsht.pas
字号:
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 + -