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 )
时,“立即应用”按钮将禁用,但前提是其他页都不是“脏的”。