MainFrm.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:5k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #include "stdafx.h"
  21. #include "ReportSample.h"
  22. #include "MainFrm.h"
  23. #ifdef _DEBUG
  24. #define new DEBUG_NEW
  25. #undef THIS_FILE
  26. static char THIS_FILE[] = __FILE__;
  27. #endif
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CMainFrame
  30. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  31. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  32. //{{AFX_MSG_MAP(CMainFrame)
  33. // NOTE - the ClassWizard will add and remove mapping macros here.
  34. //    DO NOT EDIT what you see in these blocks of generated code !
  35. ON_WM_CREATE()
  36. //}}AFX_MSG_MAP
  37. ON_COMMAND(XTP_ID_CUSTOMIZE, OnCustomize)
  38. ON_COMMAND_EX(ID_TEST_FIELDCHOOSER, OnBarCheck)
  39. ON_UPDATE_COMMAND_UI(ID_TEST_FIELDCHOOSER, OnUpdateControlBarMenu)
  40. ON_COMMAND_EX(ID_TEST_FILTERWINDOW, OnBarCheck)
  41. ON_UPDATE_COMMAND_UI(ID_TEST_FILTERWINDOW, OnUpdateControlBarMenu)
  42. END_MESSAGE_MAP()
  43. static UINT indicators[] =
  44. {
  45. ID_SEPARATOR,           // status line indicator
  46. ID_INDICATOR_CAPS,
  47. ID_INDICATOR_NUM,
  48. ID_INDICATOR_SCRL,
  49. };
  50. /////////////////////////////////////////////////////////////////////////////
  51. // CMainFrame construction/destruction
  52. CMainFrame::CMainFrame()
  53. {
  54. }
  55. CMainFrame::~CMainFrame()
  56. {
  57. }
  58. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  59. {
  60. if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  61. return -1;
  62. if (!m_wndStatusBar.Create(this) ||
  63. !m_wndStatusBar.SetIndicators(indicators,
  64.   sizeof(indicators)/sizeof(UINT)))
  65. {
  66. TRACE0("Failed to create status barn");
  67. return -1;      // fail to create
  68. }
  69. if (!InitCommandBars())
  70. return -1;
  71. CXTPPaintManager::SetTheme(xtpThemeRibbon);
  72. CXTPCommandBars* pCommandBars = GetCommandBars();
  73. pCommandBars->SetMenu(_T("Menu Bar"), IDR_MAINFRAME);
  74. CXTPToolBar* pStandardBar = (CXTPToolBar*)pCommandBars->Add(_T("Standard"), xtpBarTop);
  75. if (!pStandardBar ||
  76. !pStandardBar->LoadToolBar(IDR_MAINFRAME))
  77. {
  78. TRACE0("Failed to create toolbarn");
  79. return -1;
  80. }
  81. EnableOffice2007Frame(pCommandBars);
  82. // Load the previous state for command bars.
  83. LoadCommandBars(_T("CommandBars"));
  84. EnableDocking(CBRS_ALIGN_ANY);
  85. // Initialize dialog bar m_wndFieldChooser
  86. if (!m_wndFieldChooser.Create(this, IDD_FIELDCHOOSER,
  87. CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_HIDE_INPLACE, ID_TEST_FIELDCHOOSER))
  88. return -1;      // fail to create
  89. // Initialize dialog bar m_wndFilterEdit
  90. if (!m_wndFilterEdit.Create(this, IDD_FILTEREDIT,
  91. CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_HIDE_INPLACE, ID_TEST_FILTERWINDOW))
  92. return -1;      // fail to create
  93. // docking for field chooser
  94. m_wndFieldChooser.EnableDocking(0);
  95. m_wndFieldChooser.SetWindowText(_T("Field Chooser"));
  96. ShowControlBar(&m_wndFieldChooser, FALSE, FALSE);
  97. FloatControlBar(&m_wndFieldChooser, CPoint(100, GetSystemMetrics(SM_CYSCREEN) / 3));
  98. // docking for filter editing
  99. m_wndFilterEdit.EnableDocking(CBRS_ALIGN_TOP);
  100. m_wndFilterEdit.SetWindowText(_T("Filter text"));
  101. ShowControlBar(&m_wndFilterEdit, FALSE, FALSE);
  102. FloatControlBar(&m_wndFilterEdit, CPoint(400, GetSystemMetrics(SM_CYSCREEN) / 3));
  103. return 0;
  104. }
  105. void CMainFrame::OnCustomize()
  106. {
  107. // Get a pointer to the command bars object.
  108. CXTPCommandBars* pCommandBars = GetCommandBars();
  109. if(pCommandBars != NULL)
  110. {
  111. // Instanciate the customize dialog object.
  112. CXTPCustomizeSheet dlg(pCommandBars);
  113. // Add the options page to the customize dialog.
  114. CXTPCustomizeOptionsPage pageOptions(&dlg);
  115. dlg.AddPage(&pageOptions);
  116. // Add the commands page to the customize dialog.
  117. CXTPCustomizeCommandsPage* pCommands = dlg.GetCommandsPage();
  118. pCommands->AddCategories(IDR_MAINFRAME);
  119. // Use the command bar manager to initialize the
  120. // customize dialog.
  121. pCommands->InsertAllCommandsCategory();
  122. pCommands->InsertBuiltInMenus(IDR_MAINFRAME);
  123. pCommands->InsertNewMenuCategory();
  124. // Dispaly the dialog.
  125. dlg.DoModal();
  126. }
  127. }
  128. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  129. {
  130. if( !CFrameWnd::PreCreateWindow(cs) )
  131. return FALSE;
  132. cs.lpszClass = _T("XTPMainFrame");
  133. CXTPDrawHelpers::RegisterWndClass(AfxGetInstanceHandle(), cs.lpszClass, 
  134. CS_DBLCLKS, AfxGetApp()->LoadIcon(IDR_MAINFRAME));
  135. cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
  136. return TRUE;
  137. }
  138. /////////////////////////////////////////////////////////////////////////////
  139. // CMainFrame diagnostics
  140. #ifdef _DEBUG
  141. void CMainFrame::AssertValid() const
  142. {
  143. CFrameWnd::AssertValid();
  144. }
  145. void CMainFrame::Dump(CDumpContext& dc) const
  146. {
  147. CFrameWnd::Dump(dc);
  148. }
  149. #endif //_DEBUG
  150. /////////////////////////////////////////////////////////////////////////////
  151. // CMainFrame message handlers