BOOL CPropertyPageHost::SetActivePage(int nIndex, BOOL bAndFocus) { if (nIndex < 0 || nIndex >= m_aPages.GetSize()) return FALSE; CPropertyPage* pPage = m_aPages[nIndex].pPage; if (!pPage) return FALSE; CWnd* pFocus = GetFocus(); if (!EnsurePageCreated(nIndex)) return FALSE; // hide the current page provided it's not just about to be reshown BOOL bSamePage = (m_nSelIndex == nIndex); if (!bSamePage) { if (m_nSelIndex != -1) { CPropertyPage* pCurPage = GetActivePage(); ASSERT (pCurPage); if (pCurPage) { pCurPage->ShowWindow(SW_HIDE); pCurPage->OnKillActive(); } } UpdatePageSize(nIndex); pPage->OnSetActive(); pPage->ShowWindow(SW_SHOW); // move the focus to the first dlg ctrl if (bAndFocus) { CWnd* pCtrl = pPage->GetNextDlgTabItem(NULL); if (pCtrl) pCtrl->SetFocus(); } else pFocus->SetFocus(); m_nSelIndex = nIndex; } return TRUE; }
/* OnSelchangedTree() */ void CWallPaperDrawSettingsDlg::OnSelchangedTree(NMHDR* /*pNMHDR*/,LRESULT* pResult) { if(m_bCreated) { HTREEITEM hCurrent = m_wndSettingsTree.GetSelectedItem(); if(hCurrent) { CPropertyPage* pPropertyPage = (CPropertyPage*)m_wndSettingsTree.GetItemData(hCurrent); if(pPropertyPage) { m_ctrlSettingsArea.SetText(""); m_ctrlSettingsArea.ShowWindow(SW_HIDE); pPropertyPage->ShowWindow(SW_SHOW); pPropertyPage->OnSetActive(); } else { m_ctrlSettingsArea.SetText(IDS_DIALOG_DRAW_SETTINGS_TITLE); m_ctrlSettingsArea.ShowWindow(SW_SHOW); } } } *pResult = 0; }
/* OnSelchangingTree() */ void CWallPaperDrawSettingsDlg::OnSelchangingTree(NMHDR* /*pNMHDR*/,LRESULT* pResult) { if(m_bCreated) { HTREEITEM hCurrent = m_wndSettingsTree.GetSelectedItem(); if(hCurrent) { CPropertyPage* pPropertyPage = (CPropertyPage*)m_wndSettingsTree.GetItemData(hCurrent); if(pPropertyPage) pPropertyPage->ShowWindow(SW_HIDE); } } *pResult = 0; }
/* OnSelchangedTree() */ void CWallPaperCrawlerSettingsDlg::OnSelchangedTree(NMHDR* /*pNMHDR*/,LRESULT* pResult) { if(m_bCreated) { HTREEITEM hCurrent = m_wndSettingsTree.GetSelectedItem(); if(hCurrent) { CPropertyPage* pPropertyPage = (CPropertyPage*)m_wndSettingsTree.GetItemData(hCurrent); if(pPropertyPage) { m_ctrlSettingsArea.SetText(""); m_ctrlSettingsArea.ShowWindow(SW_HIDE); if(pPropertyPage->IsKindOf(RUNTIME_CLASS(CWallPaperCrawlerSettingsDomainDlg))) { CWallPaperCrawlerSettingsDomainDlg* pPage = (CWallPaperCrawlerSettingsDomainDlg*)pPropertyPage; pPage->SetDomainAcceptance(m_nDomainAcceptance); pPage->SetIncludeSubDomains(m_bIncludeSubDomains); pPage->SetDomainUseAlways(m_bDomainUseAlways); pPage->SetSaveList(m_bSaveList); } else if(pPropertyPage->IsKindOf(RUNTIME_CLASS(CWallPaperCrawlerSettingsParentUrlDlg))) { CWallPaperCrawlerSettingsParentUrlDlg* pPage = (CWallPaperCrawlerSettingsParentUrlDlg*)pPropertyPage; pPage->SetParentUrlAcceptance(m_nParentUrlAcceptance); pPage->SetParentUrlUseAlways(m_bParentUrlUseAlways); pPage->SetSaveList(m_bSaveList); } else if(pPropertyPage->IsKindOf(RUNTIME_CLASS(CWallPaperCrawlerSettingsWildcardsDlg))) { CWallPaperCrawlerSettingsWildcardsDlg* pPage = (CWallPaperCrawlerSettingsWildcardsDlg*)pPropertyPage; pPage->SetSaveList(m_bSaveList); } pPropertyPage->ShowWindow(SW_SHOW); pPropertyPage->OnSetActive(); } else { m_ctrlSettingsArea.SetText(IDS_DIALOG_CRAWLER_SETTINGS_TITLE); m_ctrlSettingsArea.ShowWindow(SW_SHOW); } } } *pResult = 0; }
/* OnSelchangingTree() */ void CWallPaperCrawlerSettingsDlg::OnSelchangingTree(NMHDR* /*pNMHDR*/,LRESULT* pResult) { if(m_bCreated) { HTREEITEM hCurrent = m_wndSettingsTree.GetSelectedItem(); if(hCurrent) { CPropertyPage* pPropertyPage = (CPropertyPage*)m_wndSettingsTree.GetItemData(hCurrent); if(pPropertyPage) { if(pPropertyPage->IsKindOf(RUNTIME_CLASS(CWallPaperCrawlerSettingsDomainDlg))) { CWallPaperCrawlerSettingsDomainDlg* pPage = (CWallPaperCrawlerSettingsDomainDlg*)pPropertyPage; m_nDomainAcceptance = pPage->GetDomainAcceptance(); m_bIncludeSubDomains = pPage->GetIncludeSubDomains(); m_bDomainUseAlways = pPage->GetDomainUseAlways(); m_bSaveList = pPage->GetSaveList(); } else if(pPropertyPage->IsKindOf(RUNTIME_CLASS(CWallPaperCrawlerSettingsParentUrlDlg))) { CWallPaperCrawlerSettingsParentUrlDlg* pPage = (CWallPaperCrawlerSettingsParentUrlDlg*)pPropertyPage; m_nParentUrlAcceptance = pPage->GetParentUrlAcceptance(); m_bParentUrlUseAlways= pPage->GetParentUrlUseAlways(); m_bSaveList = pPage->GetSaveList(); } else if(pPropertyPage->IsKindOf(RUNTIME_CLASS(CWallPaperCrawlerSettingsWildcardsDlg))) { CWallPaperCrawlerSettingsWildcardsDlg* pPage = (CWallPaperCrawlerSettingsWildcardsDlg*)pPropertyPage; m_bSaveList = pPage->GetSaveList(); } pPropertyPage->ShowWindow(SW_HIDE); } } } *pResult = 0; }