ChildFrm.cpp
上传用户:hgtech
上传日期:2022-06-07
资源大小:4455k
文件大小:3k
源码类别:

词法分析

开发平台:

Visual C++

  1. // ChildFrm.cpp : implementation of the CChildFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "C_Editor.h"
  5. #include "BG.h"
  6. #include "ChildFrm.h"
  7. #include "SynEditView.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CChildFrame
  15. IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd)
  16. BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
  17. //{{AFX_MSG_MAP(CChildFrame)
  18. ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
  19. //}}AFX_MSG_MAP
  20. END_MESSAGE_MAP()
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CChildFrame construction/destruction
  23. CChildFrame::CChildFrame()
  24. {
  25. // TODO: add member initialization code here
  26. }
  27. CChildFrame::~CChildFrame()
  28. {
  29. }
  30. BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
  31. {
  32. // TODO: Modify the Window class or styles here by modifying
  33. //  the CREATESTRUCT cs
  34. if( !CMDIChildWnd::PreCreateWindow(cs) )
  35. return FALSE;
  36. return TRUE;
  37. }
  38. /////////////////////////////////////////////////////////////////////////////
  39. // CChildFrame diagnostics
  40. #ifdef _DEBUG
  41. void CChildFrame::AssertValid() const
  42. {
  43. CMDIChildWnd::AssertValid();
  44. }
  45. void CChildFrame::Dump(CDumpContext& dc) const
  46. {
  47. CMDIChildWnd::Dump(dc);
  48. }
  49. #endif //_DEBUG
  50. /////////////////////////////////////////////////////////////////////////////
  51. // CChildFrame message handlers
  52. void CChildFrame::OnFileOpen() 
  53. {
  54. // TODO: Add your command handler code here
  55. m_bAutoReturn = AfxGetApp()->GetProfileInt(_T("Editor Settings"),  _T("Auto Return"), TRUE);
  56. CFileDialog fd(TRUE);
  57. if(fd.DoModal()==IDCANCEL)
  58. return;
  59. CC_EditorApp *pApp = (CC_EditorApp *)AfxGetApp();
  60. pApp->OpenDocumentFile(fd.m_ofn.lpstrFile); //用MFC的方法建立一个新视
  61. CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
  62. CMDIChildWnd *pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
  63. CSynEditView *pView = (CSynEditView *)pChild->GetActiveView();
  64. pView->LoadFile(fd.m_ofn.lpstrFile);
  65. pView->SetWrapMode
  66. (m_bAutoReturn==TRUE? CSynEditView::WrapToWindow:CSynEditView::WrapNone);
  67. }
  68. BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
  69. {
  70.       CRect rect;
  71.   GetClientRect(&rect);
  72.   m_wndSplitter.CreateStatic(this,2,1);
  73.   m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(BG),CSize(rect.Width(),1*rect.Height()/3),pContext);
  74.       m_wndSplitter.CreateView(0,0,pContext->m_pNewViewClass,
  75.   CSize(rect.Width(),2*rect.Height()/3),
  76.   pContext
  77.   );
  78.    m_wndSplitter.SetActivePane(0,0); 
  79.    return true;
  80. }
  81. BOOL CChildFrame::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CMDIFrameWnd* pParentWnd, CCreateContext* pContext) 
  82. {
  83. // TODO: Add your specialized code here and/or call the base class
  84. return CMDIChildWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, pContext);
  85. }