DLGPAGE 结构 (compstui.h)

DLGPAGE 结构用于将属性表页指定为 CPSUI 的 ComPropSheet 函数。 结构的地址包含在 COMPROPSHEETUI 结构中,所有成员值都由 ComPropSheet 调用方提供。

语法

typedef struct _DLGPAGE {
  WORD      cbSize;
  WORD      Flags;
  DLGPROC   DlgProc;
  LPTSTR    pTabName;
  ULONG_PTR IconID;
  union {
    WORD   DlgTemplateID;
    HANDLE hDlgTemplate;
  } DUMMYUNIONNAME;
} DLGPAGE, *PDLGPAGE;

成员

cbSize

调用方提供的 DLGPAGE 结构的大小(以字节为单位)。

Flags

调用方提供的位标志,如下表所述。

标志 定义
DPF_ICONID_AS_HICON 如果设置,IconID 包含图标句柄。 如果未设置,IconID 包含图标资源标识符。
DPF_USE_HDLGTEMPLATE 如果已设置, 则 hDlgTemplate 包含模板句柄。 如果未设置, 则 DlgTemplateID 包含模板资源标识符。

调用方提供的 DLGPROC 类型的可选指针,指向对话框过程,用于处理发生用户事件时系统发送的消息。 如果 为 NULL,则 CPSUI 提供一个对话框过程。 有关详细信息,请参阅下面的“备注”部分。

DlgProc

定义 DLGPROC 成员 DlgProc

pTabName

调用方提供的指向要显示在页面选项卡上的以 NULL 结尾的字符串的指针。

IconID

调用方提供的 可以是以下项之一:

  • 图标资源标识符。 这可以是应用程序定义的,也可以是 CPSUI 提供的IDI_CPSUI前缀图标资源标识符之一。

  • 图标句柄。 如果指定了句柄,则必须在 Flags 成员中设置DPF_ICONID_AS_HICON。

指定的图标显示在页面选项卡上。如果此值为零,则不显示图标。

DUMMYUNIONNAME

定义 DUMMYUNIONNAME 联合。

DUMMYUNIONNAME.DlgTemplateID

对话框模板的调用方提供的资源标识符。 这可以引用应用程序提供的 DIALOG 资源,也可以是 compstui.h) 中定义的以下 CPSUI 提供的标识符之一 (:

标识符 页面类型
DP_STD_DOCPROPPAGE1 非树视图页面,用于打印文档的 布局 页。
DP_STD_DOCPROPPAGE2 非树视图页,用于打印文档的 纸张/质量 页。
DP_STD_TREEVIEWPAGE 泛型树视图页。

CPSUI 提供的标识符是指可以显示 CPSUI 选项类型的模板。 这些模板的页面大小为 252 乘以 216 个对话框单位。 有关详细信息,请参阅 CPSUI 提供的页和模板

如果在 Flags 中设置了DPF_USE_HDLGTEMPLATE,则不使用此成员。

DUMMYUNIONNAME.hDlgTemplate

DLGTEMPLATE 结构的调用方提供的句柄。

仅在 “标志”中设置了DPF_USE_HDLGTEMPLATE时才使用。

注解

CPSUI 通过分配 PROPSHEETPAGE 结构并将其传递给 CreatePropertySheetPage 来创建属性表页。 如果调用方在 DlgProc 中指定了指向对话框过程的 DLGPROC 类型指针,则该过程用于处理页面的窗口消息。 如果 DlgProc 为 NULL,则使用 CPSUI 自己的对话框过程。

当使用消息值 WM_INITDIALOG 调用 DlgProc 指向的对话框过程时,它将接收 PROPSHEETPAGE 结构作为输入,并且还接收 PSPINFO 结构。

如果调用方提供的对话框过程处理消息,则应返回非零值。 如果该函数不处理消息,则它应返回零,这会导致 CPSUI 处理消息。

要求

要求
Header compstui.h (包括 Compstui.h)