|
Support
ActiveX / COM
Visual C++ / MFC
Customer Spotlight
Corporate Partners
Contact Sales
Call center available M-F 9:00 - 6:00 US Eastern Time. U.S. and Canada International Email |
Office Style Toolbars and Menus
Author: Kirk Stowell
Posted: November 16, 2004
Environment: Visual C++ MFC
The following is a tutorial on how to create an MDI application using the Visual Studio 6.0 Application Wizard that will have Office style menus and toolbars. The same technique can be used for later versions of Visual Studio .NET as well. Create a simple MDI application using the MFC AppWizard:
Add Xtreme CommandBars components:
Xtreme Toolkit Pro users: #include <XTToolkitPro.h>; // Xtreme Toolkit Pro components Xtreme CommandBars users: #include <XTCommandBarsPro.h> // Xtreme CommandBars components #include <XTCommandBarsPro.h>; // Xtreme CommandBars components class CMainFrame : public CXTPMDIFrameWnd { ... }; BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class
return CXTPMDIFrameWnd::PreTranslateMessage(pMsg); }
BOOL CMainFrame::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult) { // TODO: Add your specialized code here and/or call the base class
return CXTPMDIFrameWnd::OnWndMsg(message, wParam, lParam, pResult); } int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;
// Create Status bar. // Important: All control bars including the Status Bar // must be created before CommandBars.... 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 }
// Initialize the Command Bar if (!InitCommandBars()) return -1;
// Get a pointer to the Command Bar object. CXTPCommandBars* pCommandBars = GetCommandBars(); if(pCommandBars == NULL) { TRACE0("Failed to create Command Bar object.\n"); return -1; // fail to create }
// Add the menu bar CXTPCommandBar* pMenuBar = pCommandBars->SetMenu( _T("Menu Bar"), IDR_MDISAMTYPE); if(pMenuBar == NULL) { TRACE0("Failed to create menu bar.\n"); return -1; // fail to create }
// Create ToolBar CXTPToolBar* pToolBar = (CXTPToolBar*) pCommandBars->Add(_T("Standard"), xtpBarTop); if (!pToolBar || !pToolBar->LoadToolBar(IDR_MAINFRAME)) { TRACE0("Failed to create toolbar\n"); return -1; }
// Set Office 2003 Theme CXTPPaintManager::SetTheme(xtpThemeOffice2003);
return 0; } Now we have an MDI application with an Office 2003 interface...it’s that Easy!
See Also |


