在 MFC(Microsoft Foundation Classes)中,CPropertyPage::SetModified 是一个公共方法,用于设置或清除属性页(CPropertyPage)的修改标志。这个方法通常用于指示用户是否已经对属性页上的数据进行了更改。

以下是一个简单的示例,展示如何使用 SetModified 方法:
// 在 CMyPropertyPage.h 中声明
class CMyPropertyPage : public CPropertyPage
{
    // ...

    // 设置或清除修改标志
    void SetPageModified(BOOL bModified);
};

// 在 CMyPropertyPage.cpp 中实现
void CMyPropertyPage::SetPageModified(BOOL bModified)
{
    // 调用 SetModified 方法设置或清除修改标志
    SetModified(bModified);
}

在这个示例中,CMyPropertyPage 类继承自 CPropertyPage,并添加了一个自定义的函数 SetPageModified。这个函数通过调用 SetModified 方法来设置或清除属性页的修改标志。

在实际应用中,你可以根据用户的操作,调用 SetPageModified(TRUE) 来设置修改标志,表示属性页的数据已经被修改。然后,当用户点击"Apply"或"OK"按钮时,你可以根据这个修改标志来确定是否需要保存修改的数据。

请注意,SetModified 方法的调用不仅仅影响"Wizard"对话框中的"Next"按钮,它还会影响属性表(CPropertySheet)上的"Apply"按钮。如果你在属性页上进行了修改,调用 SetModified(TRUE) 可以启用这些按钮。


转载请注明出处:http://www.zyzy.cn/article/detail/21827/MFC/CPropertyPage