BOOL CPPageSheet::OnInitDialog() { BOOL bResult = __super::OnInitDialog(); if (CTreeCtrl* pTree = GetPageTreeControl()) { for (HTREEITEM node = pTree->GetRootItem(); node; node = pTree->GetNextSiblingItem(node)) { pTree->Expand(node, TVE_EXPAND); } } if (m_bLockPage) { GetPageTreeControl()->EnableWindow(FALSE); } return bResult; }
void CPreferencesDlg::Localize() { SetTitle(RemoveAmbersand(GetResString(IDS_EM_PREFS))); m_wndGeneral.Localize(); m_wndDisplay.Localize(); m_wndConnection.Localize(); m_wndServer.Localize(); m_wndDirectories.Localize(); m_wndFiles.Localize(); m_wndStats.Localize(); m_wndNotify.Localize(); m_wndIRC.Localize(); m_wndSecurity.Localize(); m_wndTweaks.Localize(); m_wndWebServer.Localize(); m_wndScheduler.Localize(); m_wndProxy.Localize(); m_wndMessages.Localize(); m_wndXtreme.Localize(); //Xman Xtreme Mod m_wndXtreme2.Localize(); //Xman Xtreme Mod m_wndScar.Localize(); // ScarAngel Preferences window - Stulle int c = 0; CTreeCtrl* pTree = GetPageTreeControl(); if (pTree) { pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_GENERAL))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_DISPLAY))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_CONNECTION))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_PROXY))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_SERVER))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_DIR))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_FILES))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_EKDEV_OPTIONS))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_STATSSETUPINFO))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_IRC))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_MESSAGESCOMMENTS))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_SECURITY))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_SCHEDULER))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_WS))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_PW_TWEAK))); pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_XTREMESETTINGS)) + _T(" I")); //Xman Xtreme Mod pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_XTREMESETTINGS)) + _T(" II")); //Xman Xtreme Mod pTree->SetItemText(GetPageTreeItem(c++), RemoveAmbersand(GetResString(IDS_SCARANGEL))); // ScarAngel Preferences window - Stulle #if defined(_DEBUG) || defined(USE_DEBUG_DEVICE) pTree->SetItemText(GetPageTreeItem(c++), _T("Debug")); #endif } //Xman Preferences Banner m_banner.UpdateSize(); //Xman end UpdateCaption(); }
BOOL CTreePropSheetBase::PreTranslateMessage(MSG* pMsg) { if( pMsg->hwnd == GetPageTreeControl()->GetSafeHwnd() ) { // If not in skipping empty page mode, keep the standard behavior. if( !m_bSkipEmptyPages ) return CPropertySheet::PreTranslateMessage(pMsg); if( pMsg->message == WM_KEYDOWN ) { // Get the current tree item. HTREEITEM hCurrentItem = m_pwndPageTree->GetSelectedItem(); if( NULL == hCurrentItem ) return TRUE; if( pMsg->wParam == VK_UP ) { // Active the previous page according to tree ordering - // skipping empty pages on the way. ActivatePreviousPage( hCurrentItem ); return TRUE; } else if ( pMsg->wParam == VK_DOWN ) { // Active the next page according to tree ordering - // skipping empty pages on the way. ActivateNextPage( hCurrentItem ); return TRUE; } else if( pMsg->wParam == VK_LEFT ) { /* Here, we try to mimic the tree keyboard handling by doing one of the two things:the following - If the tree item is expanded, collapse it - If the tree item is collapse, find a parent item that has a page associated with it and select it, collapsing all items along the way. */ if( IsItemExpanded( hCurrentItem ) ) { // Collapse the item since it is expanded. m_pwndPageTree->Expand( hCurrentItem, TVE_COLLAPSE ); } else { // Already collapsed, search for a candidate for selection. HTREEITEM hItem = m_pwndPageTree->GetParentItem( hCurrentItem ); while( NULL != hItem && !HasValidPropertyPageAssociated( hItem ) ) { // Add item to the stack. hItem = m_pwndPageTree->GetParentItem( hItem ); } // If the item points to a valid page, select it and collapse if( NULL != hItem && HasValidPropertyPageAssociated( hItem ) ) { m_pwndPageTree->SelectItem( hItem ); } } return TRUE; } else if( pMsg->wParam == VK_RIGHT ) { /* Here, we try to mimic the tree keyboard handling by doing one of the two things:the following - If the tree item is collapsed, expand it - If the tree item is expanded, find a child item that has a page associated with it and select it, expanding all items along the way. The child has to be a first child in the hierarchy. */ if( IsItemExpanded( hCurrentItem ) ) { // Already expanded, search for a candidate for selection. HTREEITEM hItem = m_pwndPageTree->GetChildItem( hCurrentItem ); while( NULL != hItem && !HasValidPropertyPageAssociated( hItem ) ) { // Add item to the stack. hItem = m_pwndPageTree->GetChildItem( hItem ); } // If the item points to a valid page, select it and collapse if( NULL != hItem && HasValidPropertyPageAssociated( hItem ) ) { m_pwndPageTree->SelectItem( hItem ); } } else { // Expand the item since it is collapsed. m_pwndPageTree->Expand( hCurrentItem, TVE_EXPAND ); } return TRUE; } } } else if( WM_ENABLE == pMsg->message) { // Handle WM_ENABLE messages for property pages: Update the property page // information map. TRACE(""); } return CPropertySheet::PreTranslateMessage(pMsg); }