// TabbedToolbarSample.cpp // // (c)1998-2025 Codejock Software, All Rights Reserved. // // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN // CONSENT OF CODEJOCK SOFTWARE. // // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A // SINGLE COMPUTER. // // CONTACT INFORMATION: // support@codejock.com // http://www.codejock.com // ///////////////////////////////////////////////////////////////////////////// #include "StdAfx.h" #include "CommandBarsSample.h" #include "MainFrm.h" #include "TabbedToolbarSample.h" #ifdef _DEBUG # define new DEBUG_NEW # undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif static UINT indicators[] = { ID_SEPARATOR, // status line indicator ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; static UINT StandardIcons[] = { IDR_ICO20513, IDR_ICO11056, IDR_ICO9809, IDR_ICO9807, IDR_ICO9806, IDR_ICO9805, IDR_ICO9803, IDR_ICO9802, IDR_ICO9801, ID_SEPARATOR, IDR_ICO9800, IDR_ICO9746, IDR_ICO9720, IDR_ICO9718, IDR_ICO9717, IDR_ICO9710, IDR_ICO9704, IDR_ICO9703, IDR_ICO9683, IDR_ICO9673 }; static UINT AdvancedIcons[] = { IDR_ICO9673, IDR_ICO9621, IDR_ICO9619, ID_SEPARATOR, IDR_ICO9618, IDR_ICO9617, IDR_ICO9611, IDR_ICO9609, IDR_ICO9608, IDR_ICO9607, ID_SEPARATOR, IDR_ICO9606, IDR_ICO9600, IDR_ICO9505, IDR_ICO9504 }; static UINT OtherIcons[] = { IDR_ICO9502, IDR_ICO9410, IDR_ICO9409, IDR_ICO9403, IDR_ICO8536, ID_SEPARATOR, IDR_ICO8044, IDR_ICO7721, IDR_ICO7612, IDR_ICO7611, IDR_ICO7610, IDR_ICO7519, IDR_ICO7518, ID_SEPARATOR, IDR_ICO7513, IDR_ICO7511 }; ////////////////////////////////////////////////////////////////////////// // CActionSampleFrame BEGIN_MESSAGE_MAP(CTabbedToolbarSampleFrame, CXTPFrameWnd) //{{AFX_MSG_MAP(CTabbedToolbarSampleFrame) ON_WM_CREATE() ON_WM_DESTROY() ON_COMMAND_RANGE(IDR_ICO7511, IDR_ICO9611, OnEmptyCommand) ON_COMMAND_RANGE(IDR_ICO9621, IDR_ICO9807, OnEmptyCommand) //}}AFX_MSG_MAP END_MESSAGE_MAP() void CTabbedToolbarSampleFrame::OnDestroy() { ((CMainFrame*)m_pOwnerFrame)->m_pTabbedToolbarFrame = NULL; CFrameWnd::OnDestroy(); } int CTabbedToolbarSampleFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CXTPFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; // Initialize the command bars if (!InitCommandBars()) return -1; // Get a pointer to the command bars object. CXTPCommandBars* pCommandBars = GetCommandBars(); if (pCommandBars == NULL) { TRACE0("Failed to create command bars object.\n"); return -1; // fail to create } if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators) / sizeof(UINT))) { TRACE0("Failed to create status bar\n"); return -1; // fail to create } m_wndStatusBar.SetCommandBars(pCommandBars); // Add the menu bar CXTPToolBar* pMenuBar = pCommandBars->SetMenu(_T("Menu Bar"), IDR_ACTIONSAMPLE); if (pMenuBar == NULL) { TRACE0("Failed to create menu bar.\n"); return -1; // fail to create } // Create ToolBar CXTPTabToolBar* pToolBar = (CXTPTabToolBar*)pCommandBars->Add(_T("Standard"), xtpBarTop, RUNTIME_CLASS(CXTPTabToolBar)); pToolBar->SetBarID(IDR_TABBEDTOOLBAR); CXTPTabManagerItem* pItem = pToolBar->InsertCategory(0, _T("Standard"), StandardIcons, _countof(StandardIcons)); // pItem->SetImageIndex(IDR_MAINFRAME); pItem->SetImageIndex(IDR_ICO20513); pItem = pToolBar->InsertCategory(1, _T("Advanced"), AdvancedIcons, _countof(AdvancedIcons)); // pItem->SetImageIndex(IDR_MAINFRAME); pItem->SetImageIndex(IDR_ICO20513); pItem = pToolBar->InsertCategory(2, _T("Other"), OtherIcons, _countof(OtherIcons)); // pItem->SetImageIndex(IDR_MAINFRAME); pItem->SetImageIndex(IDR_ICO20513); pItem->SetTooltip(_T("Other icons")); // pCommandBars->GetImageManager()->SetIcon(IDR_MAINFRAME, IDR_MAINFRAME); pCommandBars->GetImageManager()->SetIcon(IDR_ICO20513, IDR_ICO20513); pToolBar->GetPaintManager()->m_bShowIcons = FALSE; pToolBar->GetPaintManager()->EnableToolTips(xtpTabToolTipAlways); pToolBar->SetMinimumWidth(XTP_DPI_X(300)); pCommandBars->GetPaintManager()->m_bAutoResizeIcons = TRUE; pCommandBars->GetCommandBarsOptions()->bLargeIcons = TRUE; GetCommandBars()->EnableFrameTheme(m_Theme > xtpThemeDlgOffice2003); pToolBar->UpdateTabs(pToolBar->GetItem(0)); pToolBar->GetPaintManager()->SetAppearance(xtpTabAppearancePropertyPage2003); return 0; } void CTabbedToolbarSampleFrame::RefreshTheme(XTPThemeDlg nTheme) { m_Theme = nTheme; switch (nTheme) { case xtpThemeDlgOffice2007: case xtpThemeDlgOffice2010: case xtpThemeDlgOffice2013: case xtpThemeDlgOffice2016: case xtpThemeDlgVisualStudio2012: case xtpThemeDlgVisualStudio2015: case xtpThemeDlgVisualStudio2017: case xtpThemeDlgVisualStudio2019: case xtpThemeDlgVisualStudio2022: case xtpThemeDlgNativeWindows: case xtpThemeDlgNativeWindows10: case xtpThemeDlgNativeWindows11: GetCommandBars()->EnableFrameTheme(TRUE); break; default: GetCommandBars()->EnableFrameTheme(NULL); break; } GetCommandBars()->RedrawCommandBars(); m_wndStatusBar.Invalidate(TRUE); } ///////////////////////////////////////////////////////////////////////////// // CTabbedToolbarSampleFrame diagnostics #ifdef _DEBUG void CTabbedToolbarSampleFrame::AssertValid() const { CXTPFrameWnd::AssertValid(); } void CTabbedToolbarSampleFrame::Dump(CDumpContext& dc) const { CXTPFrameWnd::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMainFrame message handlers void CTabbedToolbarSampleFrame::OnEmptyCommand(UINT) { }