PFNPROPSHEETCALLBACK 回调函数 (prsht.h)
创建和初始化属性表时系统调用的应用程序定义的回调函数。
语法
PFNPROPSHEETCALLBACK Pfnpropsheetcallback;
int Pfnpropsheetcallback(
HWND unnamedParam1,
UINT unnamedParam2,
LPARAM unnamedParam3
)
{...}
参数
unnamedParam1
类型: HWND
属性表的句柄。 此参数通常称为 hWnd。
unnamedParam2
类型: UINT
正在接收的消息。 此参数通常称为 uMsg。
此参数是以下值之一。
值 | 含义 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
指示正在初始化属性表。 此消息的 lParam (unnamedParam3) 值为零。 | ||||||||||
|
指示即将创建属性表。 hWnd (unnamedParam1) 参数为 NULL,lParam (unnamedParam3) 参数是内存中对话框模板的地址。 此模板采用 DLGTEMPLATE 或 DLGTEMPLATEEX 结构的形式,后跟一个或多个 DLGITEMTEMPLATE 结构。 如果使用 Aero 向导 样式 (PSH_AEROWIZARD) ,则此消息不适用。 | ||||||||||
|
版本 6.0 及更高版本。 指示用户按下了属性表对话框中的按钮。 若要启用此功能,请在 PROPSHEETHEADER.dwFlags 中指定PSH_USECALLBACK,并在 PROPSHEETHEADER.pfnCallback 中指定此回调函数的名称。 lParam (Arg3) 值为下列值之一。 请注意,使用 Aero 向导样式 (PSH_AEROWIZARD) 时,只有 PSBTN_CANCEL 有效。
请注意,Comctl32.dll 版本 6 及更高版本不可再发行。 若要使用这些版本的 Comctl32.dll,请在清单中指定特定版本。 有关清单的详细信息,请参阅 启用视觉样式。 |
unnamedParam3
类型: LPARAM
关于消息的附加信息。 此参数通常称为 lParam。
此值的含义取决于 uMsg (unnamedParam2) 参数:
如果 uMsg PSCB_INITIALIZED或PSCB_BUTTONPRESSED,则此参数的值为零。
如果 uMsg PSCB_PRECREATE,则此参数将是指向描述属性表对话框的 DLGTEMPLATE 或 DLGTEMPLATEEX 结构的指针。 测试结构的签名以确定类型。 如果 signature 等于 0xFFFF 则结构为扩展对话框模板,否则结构为标准对话模板。 下面的示例演示如何执行此操作。
if (uMsg == PSCB_PRECREATE) { if (lParam) { DLGTEMPLATE *pDlgTemplate; DLGTEMPLATEEX *pDlgTemplateEx; pDlgTemplateEx = (DLGTEMPLATEEX *)lParam; if (pDlgTemplateEx->signature == 0xFFFF) { // pDlgTemplateEx points to an extended // dialog template structure. } else { // This is a standard dialog template // structure. pDlgTemplate = (DLGTEMPLATE *)lParam; } } }
返回值
类型: int
返回零。
注解
若要启用 PropSheetProc 回调函数,请在调用 PropertySheet 函数创建属性表时使用 PROPSHEETHEADER 结构。 使用 pfnCallback 成员指定回调函数的地址,并在 dwFlags 成员中设置PSP_USECALLBACK标志。
PropSheetProc 是应用程序定义的函数名称的占位符。 PFNPROPSHEETCALLBACK 类型是 PropSheetProc 回调函数的地址。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | prsht.h |