CSnapInPropertyPageImpl 类

此类提供用于实现管理单元属性页对象的方法。

重要

无法在 Windows 运行时中执行的应用程序中使用此类及其成员。

语法

CSnapInPropertyPageImpl : public CDialogImplBase

成员

公共构造函数

名称 描述
CSnapInPropertyPageImpl::CSnapInPropertyPageImpl 构造函数。

公共方法

名称 描述
CSnapInPropertyPageImpl::CancelToClose 更改“确定”和“取消”按钮的状态
CSnapInPropertyPageImpl::Create 初始化新建的 CSnapInPropertyPageImpl 对象。
CSnapInPropertyPageImpl::OnApply 当用户在使用向导类型属性表期间单击“立即应用”按钮时由框架调用
CSnapInPropertyPageImpl::OnHelp 当用户在使用向导类型属性表期间单击“帮助”按钮时由框架调用
CSnapInPropertyPageImpl::OnKillActive 当前页不再处于活动状态时由框架调用。
CSnapInPropertyPageImpl::OnQueryCancel 当用户单击“取消”按钮时,在取消发生之前由框架调用
CSnapInPropertyPageImpl::OnReset 当用户在使用向导类型属性表期间单击“重置”按钮时由框架调用
CSnapInPropertyPageImpl::OnSetActive 当前页变为活动状态时由框架调用。
CSnapInPropertyPageImpl::OnWizardBack 当用户在使用向导类型属性表期间单击“返回”按钮时由框架调用
CSnapInPropertyPageImpl::OnWizardFinish 当用户在使用向导类型属性表期间单击“完成”按钮时由框架调用
CSnapInPropertyPageImpl::OnWizardNext 当用户在使用向导类型属性表期间单击“下一步”按钮时由框架调用
CSnapInPropertyPageImpl::QuerySiblings 将当前消息转发到属性表的所有页。
CSnapInPropertyPageImpl::SetModified 调用以激活或停用“立即应用”按钮

公共数据成员

“属性” 描述
CSnapInPropertyPageImpl::m_psp CSnapInPropertyPageImpl 对象使用的 Windows PROPSHEETPAGE 结构。

备注

CSnapInPropertyPageImpl 提供管理单元属性页对象的基本实现。 管理单元属性页的基本功能是使用多个不同接口和映射类型实现的。

继承层次结构

CDialogImplBase

CSnapInPropertyPageImpl

要求

标头:atlsnap.h

CSnapInPropertyPageImpl::CancelToClose

在对模式属性表的页中的数据进行不可恢复的更改后调用此函数。

void CancelToClose();

注解

此函数会将“确定”按钮更改为“关闭”并禁用“取消”按钮。 此更改会提醒用户更改是永久性的,并且无法取消修改。

CancelToClose 成员函数在无模式属性表中不执行任何操作,因为默认情况下无模式属性表没有“取消”按钮

CSnapInPropertyPageImpl::CSnapInPropertyPageImpl

构造 CSnapInPropertyPageImpl 对象。

CSnapInPropertyPageImpl(LPCTSTR lpszTitle = NULL);

参数

lpszTitle
[in] 属性页的标题。

备注

若要初始化底层结构,请调用 CSnapInPropertyPageImpl::Create

CSnapInPropertyPageImpl::Create

调用此函数可初始化属性页的底层结构。

HPROPSHEETPAGE Create();

返回值

PROPSHEETPAGE 结构的句柄,该结构包含新建的属性表的特性。

备注

在调用此函数之前,应该先调用 CSnapInPropertyPageImpl::CSnapInPropertyPageImpl

CSnapInPropertyPageImpl::m_psp

m_psp 是一个结构,其成员存储 PROPSHEETPAGE 的特征。

PROPSHEETPAGE m_psp;

备注

使用此结构可在构造属性页后对其外观进行初始化。

有关此结构的详细信息(包括其成员列表),请参阅 Windows SDK 中的 PROPSHEETPAGE

CSnapInPropertyPageImpl::OnApply

当用户单击“确定”或“立即应用”按钮时将调用此成员函数

BOOL OnApply();

返回值

如果接受更改,则返回非零值;否则返回 0。

备注

必须先调用 SetModified 并将其参数设置为 TRUE,然后框架才能调用 OnApply。 这将在用户在属性页上进行更改后立即激活“立即应用”按钮

重写此成员函数可指定程序在用户单击“立即应用”按钮时执行的操作。 重写时,该函数应返回 TRUE 以接受更改,并返回 FALSE 以防止更改生效。

OnApply 的默认实现返回 TRUE。

CSnapInPropertyPageImpl::OnHelp

当用户单击属性页的“帮助”按钮时将调用此成员函数

void OnHelp();

备注

重写此成员函数可显示属性页的帮助。

CSnapInPropertyPageImpl::OnKillActive

当该页不再是活动页时将调用此成员函数。

BOOL OnKillActive();

返回值

如果成功更新了数据,则返回非零值;否则返回 0。

备注

重写此成员函数可执行特殊的数据验证任务。

CSnapInPropertyPageImpl::OnQueryCancel

当用户单击“取消”按钮时,在取消操作发生之前会调用此成员函数

BOOL OnQueryCancel();

返回值

如果允许取消操作,则返回非零值;否则返回 0。

注解

重写此成员函数可指定程序在用户单击“取消”按钮时执行的操作

OnQueryCancel 的默认实现返回 TRUE。

CSnapInPropertyPageImpl::OnReset

当用户单击“取消”按钮时将调用此成员函数

void OnReset();

备注

调用此函数时,用户先前单击“立即应用”按钮对所有属性页所做的更改都将被放弃,并且属性表将保持焦点

重写此成员函数可指定程序在用户单击“取消”按钮时执行的操作

CSnapInPropertyPageImpl::OnSetActive

当用户选择页且该页成为活动页时将调用此成员函数。

BOOL OnSetActive();

返回值

如果页成功设置为活动页,则返回非零值;否则返回 0。

备注

重写此成员函数可在激活页时执行任务。 此成员函数的重写应在完成任何其他处理之前调用默认版本。

默认实现返回 TRUE。

CSnapInPropertyPageImpl::OnWizardBack

当用户在向导中单击“返回”按钮时将调用此成员函数

BOOL OnWizardBack();

返回值

  • 0 表示自动转到上一页。

  • -1 表示防止页更改。

若要跳转到下一页以外的其他页,请返回要显示的对话框的标识符。

备注

重写此成员函数可指定用户在单击“返回”按钮时必须执行的某项操作

CSnapInPropertyPageImpl::OnWizardFinish

当用户在向导中单击“完成”按钮时将调用此成员函数

BOOL OnWizardFinish();

返回值

如果在向导完成时销毁属性表,则返回非零值;否则返回零。

注解

重写此成员函数可指定用户在单击“完成”按钮时必须执行的某项操作

CSnapInPropertyPageImpl::OnWizardNext

当用户在向导中单击“下一步”按钮时将调用此成员函数

BOOL OnWizardNext();

返回值

  • 0 表示自动转到下一页。

  • -1 表示防止页更改。

若要跳转到下一页以外的其他页,请返回要显示的对话框的标识符。

备注

重写此成员函数可指定用户在单击“下一步”按钮时必须执行的某项操作

CSnapInPropertyPageImpl::QuerySiblings

调用此成员函数可将消息转发到属性表中的每个页面。

LRESULT QuerySiblings(WPARAM wParam, LPARAM lParam);

参数

wParam
[in] 指定其他消息相关的信息。

lParam
[in] 指定其他消息相关的信息。

返回值

如果不应将消息转发到下一个属性页,则返回非零值;否则为零。

备注

如果某个页返回非零值,则属性表不会将消息发送到后续页。

CSnapInPropertyPageImpl::SetModified

调用此成员函数可启用或禁用“立即应用”按钮,具体取决于属性页中的设置是否应应用于适当的外部对象

void SetModified(BOOL bChanged = TRUE);

参数

bChanged
[in] TRUE 表示属性页设置自上次应用以来已被修改;FALSE 表示已应用属性页设置,或应忽略该设置。

注解

属性表会跟踪哪些页是“脏的”,即已为其调用 SetModified( TRUE ) 的属性页。 如果为其中一个页调用 SetModified( TRUE ),“立即应用”按钮将始终处于启用状态。 为其中一个页调用 SetModified( FALSE ) 时,“立即应用”按钮将禁用,但前提是其他页都不是“脏的”

另请参阅

类概述