MainFrm.cpp
上传用户:seaboy_04
上传日期:2013-02-24
资源大小:284k
文件大小:3k
源码类别:

其他行业

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "DrawCli.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, CMDIFrameWnd)
  14. BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
  15. //{{AFX_MSG_MAP(CMainFrame)
  16. ON_WM_CREATE()
  17. ON_COMMAND(ID_VIEW_DRAWTOOLBAR, OnViewDrawtoolbar)
  18. ON_UPDATE_COMMAND_UI(ID_VIEW_DRAWTOOLBAR, OnUpdateViewDrawtoolbar)
  19. //}}AFX_MSG_MAP
  20. // Global help commands
  21. ON_COMMAND(ID_HELP_FINDER, CMDIFrameWnd::OnHelpFinder)
  22. ON_COMMAND(ID_HELP, CMDIFrameWnd::OnHelp)
  23. ON_COMMAND(ID_CONTEXT_HELP, CMDIFrameWnd::OnContextHelp)
  24. ON_COMMAND(ID_DEFAULT_HELP, CMDIFrameWnd::OnHelpFinder)
  25. END_MESSAGE_MAP()
  26. static UINT indicators[] =
  27. {
  28. ID_SEPARATOR,           // status line indicator
  29. ID_INDICATOR_CAPS,
  30. ID_INDICATOR_NUM,
  31. ID_INDICATOR_SCRL,
  32. };
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CMainFrame construction/destruction
  35. CMainFrame::CMainFrame()
  36. {
  37. // TODO: add member initialization code here
  38. }
  39. CMainFrame::~CMainFrame()
  40. {
  41. }
  42. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  43. {
  44. if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
  45. return -1;
  46. if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  47. | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  48. !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  49. {
  50. TRACE0("Failed to create toolbarn");
  51. return -1;      // fail to create
  52. }
  53. if (!m_wndDrawToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  54. | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  55. !m_wndDrawToolBar.LoadToolBar(IDR_DRAW_TOOLBAR))
  56. {
  57. TRACE0("Failed to create toolbarn");
  58. return -1;      // fail to create
  59. }
  60. if (!m_wndStatusBar.Create(this) ||
  61. !m_wndStatusBar.SetIndicators(indicators,
  62.   sizeof(indicators)/sizeof(UINT)))
  63. {
  64. TRACE0("Failed to create status barn");
  65. return -1;      // fail to create
  66. }
  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. m_wndDrawToolBar.EnableDocking(CBRS_ALIGN_ANY);
  71. EnableDocking(CBRS_ALIGN_ANY);
  72. DockControlBar(&m_wndToolBar);
  73. DockControlBar(&m_wndDrawToolBar);
  74. return 0;
  75. }
  76. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  77. {
  78. if( !CMDIFrameWnd::PreCreateWindow(cs) )
  79. return FALSE;
  80. // TODO: Modify the Window class or styles here by modifying
  81. //  the CREATESTRUCT cs
  82. return TRUE;
  83. }
  84. /////////////////////////////////////////////////////////////////////////////
  85. // CMainFrame diagnostics
  86. #ifdef _DEBUG
  87. void CMainFrame::AssertValid() const
  88. {
  89. CMDIFrameWnd::AssertValid();
  90. }
  91. void CMainFrame::Dump(CDumpContext& dc) const
  92. {
  93. CMDIFrameWnd::Dump(dc);
  94. }
  95. #endif //_DEBUG
  96. /////////////////////////////////////////////////////////////////////////////
  97. // CMainFrame message handlers
  98. void CMainFrame::OnViewDrawtoolbar() 
  99. {
  100.   ShowControlBar(&m_wndDrawToolBar,m_wndDrawToolBar.IsWindowVisible() ? FALSE:TRUE,FALSE);
  101. }
  102. void CMainFrame::OnUpdateViewDrawtoolbar(CCmdUI* pCmdUI) 
  103. {
  104.   pCmdUI->SetCheck(m_wndDrawToolBar.IsWindowVisible());   
  105. }