在 MFC(Microsoft Foundation Classes)中,CMFCPropertySheet 类确实提供了名为 RemovePage 的公共方法。此方法用于从属性表中移除指定的页(Property Page)。

以下是 CMFCPropertySheet::RemovePage 的简单用法示例:
CMFCPropertySheet myPropertySheet(_T("My Property Sheet"));
CMyPropertyPage1 page1;
CMyPropertyPage2 page2;
CMyPropertyPage3 page3;

myPropertySheet.AddPage(&page1);
myPropertySheet.AddPage(&page2);
myPropertySheet.AddPage(&page3);

// 移除第二个页(索引为1)
myPropertySheet.RemovePage(1);

在这个示例中,RemovePage 方法被用于从属性表中移除第二个页(索引为1),即 page2。

请注意,RemovePage 方法接受页的索引作为参数。如果您有指向特定页对象的指针,可以使用 GetPageIndex 方法获取索引,然后调用 RemovePage。
int pageIndex = myPropertySheet.GetPageIndex(&page2);
if (pageIndex != -1) {
    myPropertySheet.RemovePage(pageIndex);
}

这样就能确保移除了特定的页。如果页被成功移除,属性表将自动进行更新。

请确保在移除页后正确管理页对象的生命周期,以避免内存泄漏。


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