step 1:
#include <XTToolkitPro.h>
step 2:
change your base class to be CXTPMDIFrameWnd for MDI applications or CXTPFrameWnd for SDI applications:
class CMainFrame : public CXTPFrameWnd
{
...
};
step 3:
If you plan to override either PreTranslateMessage or OnWndMsg make sure that you call the CXTPFrameWnd or CXTPMDIFrameWnd base class, for example:
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
return CXTPFrameWnd::PreTranslateMessage(pMsg);
}
BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode,void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
return CXTPFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
step 4:
Add the following code to the int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) function:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CXTPFrameWnd::OnCreate(lpCreateStruct) == -1)
{
return -1;
}
if (!m_wndStatusBar.Create(this) ||!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeo(UINT)))
{
TRACE0("Failed to create status bar/n");
return -1;
}
if (!InitCommandBars())
{
return -1;
}
CXTPCommandBars* pCommandBars = GetCommandBars();
if(pCommandBars == NULL)
{
TRACE0("Failed to create command bars object./n");
return -1;
}
CXTPCommandBar* pMenuBar = pCommandBars->SetMenu(_T("Menu Bar"), IDR_MAINFRAME);
if(pMenuBar == NULL)
{
TRACE0("Failed to create menu bar./n");
return -1;
}
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;
}