(1) MFC下的多列表視圖
在VS2010下,提供了類CMFCPropertySheet和CMFCPropertyPage進行列表視圖和相關頁面的加載,首先構造基於CMFCPropertyPage的頁面類,建立對話框資源,將模式設置爲“Child”,然後建立以CPropertyPage爲基類的CPage1,將基類更換爲CMFCPropertyPage,重載虛函數OnInitDialog(),以同樣的方法建立CPage2,…,CPage5。然後建立以CPropertySheet爲基類的類建立CControlSheet,再將基類更換爲CMFCPropertySheet,重載構造函數和初始化函數,並在其中增加CPage1,…,CPage5類型的變量m_page1,…,m_page5,
CControlSheet::CControlSheet(CWnd*pParentWnd)
:CMFCPropertySheet(IDS_CONTROL,pParentWnd)
{
BOOL b32BitIcons = TRUE;
SetLook(CMFCPropertySheet::PropSheetLook_OutlookBar); //設置外觀
SetIconsList(b32BitIcons ? IDB_ICONS32 :IDB_ICONS, 32); //設置圖標
AddPage(&m_page1);
AddPage(&m_page2);
}
爲了增強界面顯示,在應用函數中增加顯示風格控制:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
CMFCButton::EnableWindowsTheming();
更改應用程序類的初始化代碼,調用CControlSheet作爲主界面
CControlSheet*pPropSheet = new CControlSheet;
m_pMainWnd= pPropSheet;
pPropSheet->DoModal();
delete pPropSheet;
實現的界面爲: