void CMainFrame::OnAppLook(UINT id) { CDockingManager::SetDockingMode (DT_SMART); m_nAppLook = id; CTabbedPane::m_StyleTabWnd = CMFCTabCtrl::STYLE_3D; switch (m_nAppLook) { case ID_VIEW_APPLOOK_2007: case ID_VIEW_APPLOOK_2007_1: case ID_VIEW_APPLOOK_2007_2: case ID_VIEW_APPLOOK_2007_3: // enable Office 2007 look: switch (m_nAppLook) { case ID_VIEW_APPLOOK_2007: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_LunaBlue); break; case ID_VIEW_APPLOOK_2007_1: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_ObsidianBlack); break; case ID_VIEW_APPLOOK_2007_2: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_Silver); break; case ID_VIEW_APPLOOK_2007_3: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_Aqua); break; } CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); break; default: ASSERT (FALSE); } CDockingManager* pDockManager = GetDockingManager (); if (pDockManager != NULL) { ASSERT_VALID (pDockManager); pDockManager->AdjustPaneFrames (); } CTabbedPane::ResetTabs (); RecalcLayout (); RedrawWindow (NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE); theApp.WriteInt (_T("ApplicationLook"), m_nAppLook); }
void CMainFrame::OnAppLook(UINT id) { TRACE("CMainFrame::OnAppLook"); m_nAppLook = id; switch (m_nAppLook) { case ID_VIEW_APPLOOK_2000: // enable Office 2000 look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManager)); break; case ID_VIEW_APPLOOK_XP: // enable Office XP look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOfficeXP)); break; case ID_VIEW_APPLOOK_WIN_XP: // enable Windows XP look (in other OS Office XP look will be used): CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerWindows)); CMFCVisualManagerWindows::m_b3DTabsXPTheme = TRUE; break; case ID_VIEW_APPLOOK_2003: // enable Office 2003 look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2003)); break; case ID_VIEW_APPLOOK_VS2005: // enable VS 2005 look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005)); break; case ID_VIEW_APPLOOK_2007_1: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_LunaBlue); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); SetupOffice2007Button (); break; case ID_VIEW_APPLOOK_2007_2: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_ObsidianBlack); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); SetupOffice2007Button (); break; case ID_VIEW_APPLOOK_2007_3: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_Silver); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); SetupOffice2007Button (); break; case ID_VIEW_APPLOOK_2007_4: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_Aqua); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); SetupOffice2007Button (); break; default: ASSERT (FALSE); } CDockingManager* pDockManager = GetDockingManager (); if (pDockManager != NULL) { ASSERT_VALID (pDockManager); pDockManager->AdjustPaneFrames (); } CDockingManager::SetDockingMode (DT_SMART); if (!IsMDITabbedGroup()) { HWND hwndT = ::GetWindow(m_hWndMDIClient, GW_CHILD); while (hwndT != NULL) { CMDIChildWndEx* pFrame = DYNAMIC_DOWNCAST(CMDIChildWndEx, CWnd::FromHandle(hwndT)); if (pFrame != NULL) { ASSERT_VALID(pFrame); if (!pFrame->IsZoomed() && !pFrame->IsIconic()) { CRect rectFrame; // Force a resize to happen on all the "restored" MDI child windows pFrame->GetWindowRect(rectFrame); pFrame->SetWindowPos(NULL, -1, -1, rectFrame.Width() + 1, rectFrame.Height(), SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOMOVE); pFrame->SetWindowPos(NULL, -1, -1, rectFrame.Width(), rectFrame.Height(), SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOMOVE); } } hwndT = ::GetWindow(hwndT, GW_HWNDNEXT); } } RecalcLayout (); RedrawWindow (NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE); theApp.WriteInt (_T("ApplicationLook"), m_nAppLook); }
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWndEx::OnCreate(lpCreateStruct) == -1) return -1; BOOL bNameValid; // disable menu SetMenu( NULL ); // set the visual manager used to draw all user interface elements CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows7)); // prevent loading from registry for secondary windows GetDockingManager()->DisableRestoreDockState(); // set sizes CMFCToolBar::SetSizes( CSize(40,40), CSize(32, 32) ); CMFCToolBar::SetMenuSizes( CSize(22,22), CSize(16, 16) ); if(!m_wndReBar.Create( this, RBS_BANDBORDERS, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_TOP, AFX_IDW_REBAR)) { TRACE0("Failed to create rebar\n"); return -1; // fail to create } //if (!m_wndMenuBar.Create(this)) //{ // TRACE0("Failed to create menubar\n"); // return -1; // fail to create //} //m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY); // prevent the menu bar from taking the focus on activation //CMFCPopupMenu::SetForceMenuFocus(FALSE); if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } // rebar variables REBARBANDINFO rbbi; CSize sizeBar; DWORD dwStyle = 0; // add bar to rebar if( !m_wndReBar.AddBar( &m_wndToolBar, NULL, NULL, dwStyle )) { TRACE0("Failed to add Navbar\n"); return -1; // fail to create } // get sizes sizeBar = m_wndToolBar.CalcSize( FALSE ); // reset rbbi memset( &rbbi, NULL, sizeof(REBARBANDINFO) ); // adjust rebar //rbbi.cbSize = sizeof(rbbi); rbbi.cbSize = m_wndReBar.GetReBarBandInfoSize(); rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_SIZE | RBBIM_ID; rbbi.cxMinChild = sizeBar.cx; rbbi.cyMinChild = sizeBar.cy; rbbi.cx = rbbi.cxIdeal = sizeBar.cx + 30; rbbi.wID = IDR_MAINFRAME; m_wndReBar.GetReBarCtrl().SetBandInfo( 0, &rbbi ); CString strToolBarName; bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD); ASSERT(bNameValid); m_wndToolBar.SetWindowText(strToolBarName); CString strCustomize; bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE); ASSERT(bNameValid); m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize); // Create a combo box for the address bar: bNameValid = FALSE; CString strAddressLabel; bNameValid = strAddressLabel.LoadString( IDS_ADDRESS ); ASSERT(bNameValid); if (!m_wndAddress.Create (CBS_DROPDOWN | WS_CHILD, CRect(0, 0, 400, 120), this, ID_ADDRESS_BOX)) { TRACE0("Failed to create combobox\n"); return -1; // fail to create } // add home page m_wndAddress.AddString( theApp.m_szHomePage ); // set height m_wndAddress.SetHeight( 20 ); // rebar style dwStyle = RBBS_FIXEDBMP | RBBS_BREAK | RBBS_GRIPPERALWAYS; // add bar to rebar if( !m_wndReBar.AddBar( &m_wndAddress, NULL, NULL, dwStyle )) { TRACE0("Failed to create rebar\n"); return -1; // fail to create } // adjust rebar CRect rectAddress; m_wndAddress.GetEditCtrl()->GetWindowRect(&rectAddress); // reset rbbi memset( &rbbi, NULL, sizeof(REBARBANDINFO) ); // adjust rebar //rbbi.cbSize = sizeof(rbbi); rbbi.cbSize = m_wndReBar.GetReBarBandInfoSize(); rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_SIZE | RBBIM_ID; rbbi.cyMinChild = rectAddress.Height() + 12; rbbi.cxIdeal = 400; rbbi.cx = 400; rbbi.wID = ID_ADDRESS_BOX; m_wndReBar.GetReBarCtrl().SetBandInfo( 1, &rbbi ); if (!m_wndStatusBar.Create(this)) { TRACE0("Failed to create status bar\n"); return -1; // fail to create } m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)); // TODO: Delete these five lines if you don't want the toolbar and menubar to be dockable m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockPane( &m_wndReBar ); // enable Visual Studio 2005 style docking window behavior CDockingManager::SetDockingMode(DT_SMART); // enable Visual Studio 2005 style docking window auto-hide behavior EnableAutoHidePanes(CBRS_ALIGN_ANY); // Enable toolbar and docking window menu replacement EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR); // enable quick (Alt+drag) toolbar customization CMFCToolBar::EnableQuickCustomization(); // enable menu personalization (most-recently used commands) // TODO: define your own basic commands, ensuring that each pulldown menu has at least one basic command. CList<UINT, UINT> lstBasicCommands; lstBasicCommands.AddTail(ID_FILE_PRINT); lstBasicCommands.AddTail(ID_APP_EXIT); lstBasicCommands.AddTail(ID_EDIT_CUT); lstBasicCommands.AddTail(ID_EDIT_PASTE); lstBasicCommands.AddTail(ID_APP_ABOUT); lstBasicCommands.AddTail(ID_VIEW_STATUS_BAR); lstBasicCommands.AddTail(ID_VIEW_TOOLBAR); CMFCToolBar::SetBasicCommands(lstBasicCommands); return 0; }
void CMainFrame::OnAppLook(UINT id) { CDockingManager::SetDockingMode (DT_SMART); m_nAppLook = id; switch (m_nAppLook) { case ID_VIEW_APPLOOK_2000: // enable Office 2000 look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManager)); break; case ID_VIEW_APPLOOK_XP: // enable Office XP look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOfficeXP)); break; case ID_VIEW_APPLOOK_WIN_XP: // enable Windows XP look (in other OS Office XP look will be used): CMFCVisualManagerWindows::m_b3DTabsXPTheme = TRUE; CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerWindows)); break; case ID_VIEW_APPLOOK_2003: // enable Office 2003 look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2003)); CDockingManager::SetDockingMode (DT_SMART); break; case ID_VIEW_APPLOOK_VS2005: // enable VS.NET 2005 look: CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005)); CMFCVisualManager::GetInstance (); CDockingManager::SetDockingMode (DT_SMART); break; case ID_VIEW_APPLOOK_2007_1: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_LunaBlue); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); break; case ID_VIEW_APPLOOK_2007_2: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_ObsidianBlack); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); break; case ID_VIEW_APPLOOK_2007_3: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_Aqua); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); break; case ID_VIEW_APPLOOK_2007_4: // enable Office 2007 look: CMFCVisualManagerOffice2007::SetStyle (CMFCVisualManagerOffice2007::Office2007_Silver); CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode (DT_SMART); break; default: ASSERT (FALSE); } CDockingManager* pDockManager = GetDockingManager (); if (pDockManager != NULL) { ASSERT_VALID (pDockManager); pDockManager->AdjustPaneFrames (); } RecalcLayout (); RedrawWindow (NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE); theApp.WriteInt (_T("ApplicationLook"), m_nAppLook); }
BOOL CMainFrame::IsPrintPreviewMode () { return GetDockingManager()->IsPrintPreviewValid(); }