MAINFRM.CPP
上传用户:hnhlzg
上传日期:2013-10-19
资源大小:289k
文件大小:3k
源码类别:

数学计算

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "DSplit.h"
  5. #include "MainFrm.h"
  6. #include "DynSplitView2.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CMainFrame
  14. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  15. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  16. //{{AFX_MSG_MAP(CMainFrame)
  17. ON_WM_CREATE()
  18. // ON_COMMAND(ID_DYNSPLIT, OnDynSplit)
  19. // ON_UPDATE_COMMAND_UI(ID_DYNSPLIT, OnUpdateDynSplit)
  20. //}}AFX_MSG_MAP
  21. END_MESSAGE_MAP()
  22. static UINT indicators[] =
  23. {
  24. ID_SEPARATOR,           // status line indicator
  25. ID_INDICATOR_CAPS,
  26. ID_INDICATOR_NUM,
  27. ID_INDICATOR_SCRL,
  28. };
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CMainFrame construction/destruction
  31. CMainFrame::CMainFrame()
  32. {
  33. // TODO: add member initialization code here
  34. }
  35. CMainFrame::~CMainFrame()
  36. {
  37. }
  38. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  39. {
  40. if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  41. return -1;
  42. if (!m_wndToolBar.Create(this) ||
  43. !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  44. {
  45. TRACE0("Failed to create toolbarn");
  46. return -1;      // fail to create
  47. }
  48. if (!m_wndStatusBar.Create(this) ||
  49. !m_wndStatusBar.SetIndicators(indicators,
  50.   sizeof(indicators)/sizeof(UINT)))
  51. {
  52. TRACE0("Failed to create status barn");
  53. return -1;      // fail to create
  54. }
  55. // TODO: Remove this if you don't want tool tips or a resizeable toolbar
  56. m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
  57. CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
  58. // TODO: Delete these three lines if you don't want the toolbar to
  59. //  be dockable
  60. m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  61. EnableDocking(CBRS_ALIGN_ANY);
  62. DockControlBar(&m_wndToolBar);
  63. return 0;
  64. }
  65. BOOL CMainFrame::OnCreateClient( LPCREATESTRUCT /*lpcs*/,
  66. CCreateContext* pContext)
  67. {
  68. // create a splitter with 1 row, 2 columns
  69. if (!m_wndSplitter.CreateStatic(this, 1, 2))
  70. {
  71. TRACE0("Failed to Splitter windown");
  72. return FALSE;
  73. }
  74. // add the first splitter pane - the default view in column 0
  75. if (!m_wndSplitter.CreateView(0, 0,
  76. pContext->m_pNewViewClass, CSize(275, 150), pContext))
  77. {
  78. TRACE0("Failed to create first panen");
  79. return FALSE;
  80. }
  81. // add the second splitter pane - an input view in column 1
  82. if (!m_wndSplitter.CreateView(0, 1,
  83. RUNTIME_CLASS(CDynSplitView2), CSize(0, 0), pContext))
  84. {
  85. TRACE0("Failed to create second panen");
  86. return FALSE;
  87. }
  88. // activate the input view
  89. SetActiveView((CView*)m_wndSplitter.GetPane(0,1));
  90. return TRUE;
  91. }
  92. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  93. {
  94. // TODO: Modify the Window class or styles here by modifying
  95. //  the CREATESTRUCT cs
  96. return CFrameWnd::PreCreateWindow(cs);
  97. }
  98. /////////////////////////////////////////////////////////////////////////////
  99. // CMainFrame diagnostics
  100. #ifdef _DEBUG
  101. void CMainFrame::AssertValid() const
  102. {
  103. CFrameWnd::AssertValid();
  104. }
  105. void CMainFrame::Dump(CDumpContext& dc) const
  106. {
  107. CFrameWnd::Dump(dc);
  108. }
  109. #endif //_DEBUG
  110. /////////////////////////////////////////////////////////////////////////////
  111. // CMainFrame message handlers
  112. /*void CMainFrame::OnDynSplit() 
  113. {
  114. m_wndSplitter.SetDynamic(!m_wndSplitter.IsDynamic());
  115. }
  116. void CMainFrame::OnUpdateDynSplit(CCmdUI* pCmdUI) 
  117. {
  118. pCmdUI->SetCheck(m_wndSplitter.IsDynamic());
  119. }
  120. */