过程将按钮
属性表具有标准对话框不的函数:它们允许用户应用更改。在关闭属性表之前进行了。 使用应用按钮时,会执行。 本文讨论可以使用正确实现此功能的方法。
,当用户单击 " 确定 " 时,模式对话框通常设置应用于外部对象。 上述情况同样适用于属性表:当用户单击 " 确定 " 时,在属性表的新设置生效。
但是,您可能需要允许用户保存设置,而不必关闭属性表对话框。 这是将按钮的功能。 向按钮应用所有的当前设置属性页于外部对象,与应用当前活动的页面当前设置相对。
默认情况下,将按钮总是被禁用。 必须启用应用按钮的编写在适当的时间,因此,您必须实现 Apply 的效果编写代码,如下所述。
如果不想为用户提供适用功能,移除应用按钮并不是必需的。 您可以将其禁用,在使用标准属性表的应用程序中常见的支持具有窗口的未来版本。
若要报告页为已修改和启用应用按钮,请调用 CPropertyPage::SetModified( TRUE )。 如果任何页报告进行修改,将按钮将保持启用,无论是否已修改当前活动的页。
应调用 CPropertyPage::SetModified ,只要用户更改页中的所有设置。 一种检测用户何时更改设置在页将实现更改每个的通知处理程序中的属性页上的控件,如 EN_CHANGE 或 BN_CLICKED。
若要实现将按钮的效果,属性表必须调用其所有者,还是一些其他外部对象在应用程序中,应用当前设置在属性页。 同时,属性表应通过调用将它们的外部对象的修改的所有页的 CPropertyPage::SetModified( FALSE ) 禁用应用按钮。
对于此示例,请参见 MFC 通用示例 PROPDLG。