MainFrm.cpp
上传用户:pasef_zww
上传日期:2007-01-02
资源大小:109k
文件大小:4k
源码类别:

菜单

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "ToolbarMenuDemoMDI.h"
  5. #include "MainFrm.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CMainFrame
  13. IMPLEMENT_DYNAMIC(CMainFrame, CSpawnMDIFrameWnd)
  14. BEGIN_MESSAGE_MAP(CMainFrame, CSpawnMDIFrameWnd)
  15. //{{AFX_MSG_MAP(CMainFrame)
  16. ON_WM_CREATE()
  17. //}}AFX_MSG_MAP
  18. END_MESSAGE_MAP()
  19. static UINT indicators[] =
  20. {
  21. ID_SEPARATOR,           // status line indicator
  22. ID_INDICATOR_CAPS,
  23. ID_INDICATOR_NUM,
  24. ID_INDICATOR_SCRL,
  25. };
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CMainFrame construction/destruction
  28. CMainFrame::CMainFrame()
  29. {
  30. // TODO: add member initialization code here
  31. // COOLMENU SUPPORT
  32. cSpawn.LoadToolBarResource(IDR_MAINFRAME);
  33. cSpawn.AddToolBarResource(IDR_SYSTEMBAR);
  34. // Someone asked for different font support; now you can specify a LOGFONT
  35. // for the font you want in the menus. If you uncomment the lines below, a BIG
  36. // tahoma will be used (be sure to have Tahoma in your system, or change facename!)
  37. LOGFONT lf;
  38. ZeroMemory(&lf, sizeof(LOGFONT));
  39. lstrcpy(lf.lfFaceName, "Tahoma");
  40. lf.lfHeight = 14;
  41. // lf.lfWeight = 700;
  42. // cSpawn.SetFont(&lf);
  43. // cSpawn.SetTextColor(RGB(0,0,255), RGB(255,0,0));
  44. // cSpawn.SetBackBitmap(IDB_BACK4, RGB(255,255,255));
  45. // END COOLMENU SUPPORT
  46. }
  47. CMainFrame::~CMainFrame()
  48. {
  49. }
  50. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  51. {
  52. if (CSpawnMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
  53. return -1;
  54. if (!m_wndToolBar.Create(this) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  55. {
  56. TRACE0("Failed to create toolbarn");
  57. return -1;      // fail to create
  58. }
  59. if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)))
  60. {
  61. TRACE0("Failed to create status barn");
  62. return -1;      // fail to create
  63. }
  64. // TODO: Remove this if you don't want tool tips or a resizeable toolbar
  65. m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
  66. CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
  67. // TODO: Delete these three lines if you don't want the toolbar to
  68. //  be dockable
  69. m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  70. EnableDocking(CBRS_ALIGN_ANY);
  71. DockControlBar(&m_wndToolBar);
  72. return 0;
  73. }
  74. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  75. {
  76. // TODO: Modify the Window class or styles here by modifying
  77. //  the CREATESTRUCT cs
  78. return CSpawnMDIFrameWnd::PreCreateWindow(cs);
  79. }
  80. /////////////////////////////////////////////////////////////////////////////
  81. // CMainFrame diagnostics
  82. #ifdef _DEBUG
  83. void CMainFrame::AssertValid() const
  84. {
  85. CSpawnMDIFrameWnd::AssertValid();
  86. }
  87. void CMainFrame::Dump(CDumpContext& dc) const
  88. {
  89. CSpawnMDIFrameWnd::Dump(dc);
  90. }
  91. #endif //_DEBUG
  92. /////////////////////////////////////////////////////////////////////////////
  93. // CMainFrame message handlers
  94. // COOLMENU WITH STINGRAY SOFTWARE OBJECTIVE TOOLKIT PRO SUPPORT
  95. // If you wish to use the coolmenu along with Stingray Software Objective Toolkit 
  96. // and their SECMenuBar, thus obtaining a very look and feel with Office97 menu "buttons" 
  97. // style, you will to need to uncomment the lines below; this to avoid general protection
  98. // errors or similar. If you are using different base class from SECWorkbook, change it 
  99. // to yours base class
  100. LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
  101. {
  102. // if (message != WM_MEASUREITEM) return SECWorkbook::WindowProc(message, wParam, lParam);
  103. // else return CMDIFrameWnd::WindowProc( message, wParam, lParam );
  104. return CMDIFrameWnd::WindowProc(message, wParam, lParam);
  105. }
  106. // END COOLMENU WITH STINGRAY SOFTWARE OBJECTIVE TOOLKIT PRO SUPPORT
  107. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
  108. {
  109. return CSpawnMDIFrameWnd::OnCreateClient(lpcs, pContext);
  110. /* {
  111. CMenu * pMenu = GetMenu();
  112. ASSERT(pMenu);
  113. cSpawn.RemapMenu(pMenu);
  114. SetMenu(pMenu);
  115. VERIFY(::DrawMenuBar(GetSafeHwnd()));
  116. return TRUE;
  117. }
  118. return FALSE; */
  119. }