这里假设一个主对话框CMainDlg有三个页面CPageFirstDlg、CPageSecondDlg、CPageThirdDlg;
- 三个页面属性Style:Child, Border:None;
成员变量:
CPageFirstDlg m_pageFirstDlg; CPageSecondDlg m_pageSecondDlg; CPageThirdDlg m_pageThirdDlg;
设置它们的显示区域:m_rcChildRect;
创建页面:
HWND m_hPageFirst = m_pageFirstDlg.Create(m_hWnd, IDD_PAGE_FIRST); HWND m_hPageSecond = m_pageSecondDlg.Create(m_hWnd, IDD_PAGE_SECOND); HWND m_hPageThird = m_pageThirdDlg.Create(m_hWnd, IDD_PAGE_THIRD);
移动页面到指定区域(包括页面的显示大小及位置):
m_pageFirstDlg.MoveWindow(&m_rcChildRect); m_pageSecondDlg.MoveWindow(&m_rcChildRect); m_pageThirdDlg.MoveWindow(&m_rcChildRect);
最后是显示:
可以根据不同的条件显示指定的窗口,只需显示一个当前的窗口, 隐藏其它的窗口,如:::ShowWindow(m_pageFirstDlg, SW_SHOW); ::ShowWindow(m_pageSecondDlg, SW_HIDE); ::ShowWindow(m_pageThirdDlg, SW_HIDE);
(迁移2011-05-08)