PFNPROPSHEETCALLBACK 回调函数 (prsht.h)

创建和初始化属性表时系统调用的应用程序定义的回调函数。

语法

PFNPROPSHEETCALLBACK Pfnpropsheetcallback;

int Pfnpropsheetcallback(
  HWND unnamedParam1,
  UINT unnamedParam2,
  LPARAM unnamedParam3
)
{...}

参数

unnamedParam1

类型: HWND

属性表的句柄。 此参数通常称为 hWnd

unnamedParam2

类型: UINT

正在接收的消息。 此参数通常称为 uMsg

此参数是以下值之一。

含义
PSCB_INITIALIZED (1)
指示正在初始化属性表。 此消息的 lParam (unnamedParam3) 值为零。
PSCB_PRECREATE (2)
指示即将创建属性表。 hWnd (unnamedParam1) 参数为 NULL,lParam (unnamedParam3) 参数是内存中对话框模板的地址。 此模板采用 DLGTEMPLATEDLGTEMPLATEEX 结构的形式,后跟一个或多个 DLGITEMTEMPLATE 结构。 如果使用 Aero 向导 样式 (PSH_AEROWIZARD) ,则此消息不适用。
PSCB_BUTTONPRESSED (3)

版本 6.0 及更高版本。 指示用户按下了属性表对话框中的按钮。 若要启用此功能,请在 PROPSHEETHEADER.dwFlags 中指定PSH_USECALLBACK,并在 PROPSHEETHEADER.pfnCallback 中指定此回调函数的名称。 lParam (Arg3) 值为下列值之一。 请注意,使用 Aero 向导样式 (PSH_AEROWIZARD) 时,只有 PSBTN_CANCEL 有效。

按下的按钮 lParam 值
确定 PSBTN_OK
取消 PSBTN_CANCEL
应用 PSBTN_APPLYNOW
关闭 PSBTN_FINISH

请注意,Comctl32.dll 版本 6 及更高版本不可再发行。 若要使用这些版本的 Comctl32.dll,请在清单中指定特定版本。 有关清单的详细信息,请参阅 启用视觉样式

unnamedParam3

类型: LPARAM

关于消息的附加信息。 此参数通常称为 lParam

此值的含义取决于 uMsg (unnamedParam2) 参数:

  • 如果 uMsg PSCB_INITIALIZED或PSCB_BUTTONPRESSED,则此参数的值为零。

  • 如果 uMsg PSCB_PRECREATE,则此参数将是指向描述属性表对话框的 DLGTEMPLATEDLGTEMPLATEEX 结构的指针。 测试结构的签名以确定类型。 如果 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