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

词法分析

开发平台:

Visual C++

  1. // C_Editor.cpp : Defines the class behaviors for the application.
  2. //
  3. #include "stdafx.h"
  4. #include "C_Editor.h"
  5. #include "MainFrm.h"
  6. #include "ChildFrm.h"
  7. #include "C_EditorDoc.h"
  8. #include "C_EditorView.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // GLOBAL FUNCTIONS
  16. // Output Bar
  17. BOOL bErrFlag = FALSE;
  18. CWnd* pOutputAttachedView = NULL;
  19. void ShowOutput()
  20. {
  21. /* CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
  22. if( !pMainFrame->m_OutputBar.IsWindowVisible() )
  23. pMainFrame->OnBarCheck( ID_OUTPUT_BAR );*/
  24. }
  25. void ClearOutput()
  26. {
  27. /* CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
  28. pMainFrame->m_OutputBar.Clear();
  29. pOutputAttachedView = NULL;*/
  30. }
  31. void OutputPhaseMsg( LPCTSTR msg )
  32. {
  33. /* CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
  34. pMainFrame->m_OutputBar.InsertText( msg );*/
  35. }
  36. void OutputErrMsg( char* format, ... )
  37. {
  38. /* va_list params;
  39. static char msg[ 1024 ];
  40. va_start( params, format );
  41. _vsnprintf( msg, 1020, format, params );
  42. va_end( params );
  43. CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
  44. pMainFrame->m_OutputBar.InsertText( msg, RGB(230, 172, 66) );
  45. bErrFlag = TRUE;*/
  46. }
  47. /////////////////////////////////////////////////////////////////////////////
  48. // CC_EditorApp
  49. BEGIN_MESSAGE_MAP(CC_EditorApp, CWinApp)
  50. //{{AFX_MSG_MAP(CC_EditorApp)
  51. ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
  52. // NOTE - the ClassWizard will add and remove mapping macros here.
  53. //    DO NOT EDIT what you see in these blocks of generated code!
  54. //}}AFX_MSG_MAP
  55. // Standard file based document commands
  56. ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  57. ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  58. // Standard print setup command
  59. ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
  60. END_MESSAGE_MAP()
  61. /////////////////////////////////////////////////////////////////////////////
  62. // CC_EditorApp construction
  63. CC_EditorApp::CC_EditorApp()
  64. {
  65. // TODO: add construction code here,
  66. // Place all significant initialization in InitInstance
  67. }
  68. /////////////////////////////////////////////////////////////////////////////
  69. // The one and only CC_EditorApp object
  70. CC_EditorApp theApp;
  71. /////////////////////////////////////////////////////////////////////////////
  72. // CC_EditorApp initialization
  73. BOOL CC_EditorApp::InitInstance()
  74. {
  75. // Initialize OLE libraries
  76. if (!AfxOleInit())
  77. {
  78. AfxMessageBox(IDP_OLE_INIT_FAILED);
  79. return FALSE;
  80. }
  81. AfxEnableControlContainer();
  82. // Standard initialization
  83. // If you are not using these features and wish to reduce the size
  84. //  of your final executable, you should remove from the following
  85. //  the specific initialization routines you do not need.
  86. #ifdef _AFXDLL
  87. Enable3dControls(); // Call this when using MFC in a shared DLL
  88. #else
  89. Enable3dControlsStatic(); // Call this when linking to MFC statically
  90. #endif
  91. // Change the registry key under which our settings are stored.
  92. // TODO: You should modify this string to be something appropriate
  93. // such as the name of your company or organization.
  94. SetRegistryKey(_T("Local AppWizard-Generated Applications"));
  95. LoadStdProfileSettings();  // Load standard INI file options (including MRU)
  96. // Register the application's document templates.  Document templates
  97. //  serve as the connection between documents, frame windows and views.
  98. CMultiDocTemplate* pDocTemplate;
  99. pDocTemplate = new CMultiDocTemplate(
  100. IDR_C_EDITTYPE,
  101. RUNTIME_CLASS(CC_EditorDoc),
  102. RUNTIME_CLASS(CChildFrame), // custom MDI child frame
  103. RUNTIME_CLASS(CC_EditorView));
  104. pDocTemplate->SetContainerInfo(IDR_C_EDITTYPE_CNTR_IP);
  105. AddDocTemplate(pDocTemplate);
  106. // create main MDI Frame window
  107. CMainFrame* pMainFrame = new CMainFrame;
  108. if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
  109. return FALSE;
  110. m_pMainWnd = pMainFrame;
  111. // Parse command line for standard shell commands, DDE, file open
  112. CCommandLineInfo cmdInfo;
  113. ParseCommandLine(cmdInfo);
  114. // Dispatch commands specified on the command line
  115. if (!ProcessShellCommand(cmdInfo))
  116. return FALSE;
  117. // The main window has been initialized, so show and update it.
  118. pMainFrame->ShowWindow(m_nCmdShow);
  119. pMainFrame->UpdateWindow();
  120. return TRUE;
  121. }
  122. /////////////////////////////////////////////////////////////////////////////
  123. // CAboutDlg dialog used for App About
  124. class CAboutDlg : public CDialog
  125. {
  126. public:
  127. CAboutDlg();
  128. // Dialog Data
  129. //{{AFX_DATA(CAboutDlg)
  130. enum { IDD = IDD_ABOUTBOX };
  131. //}}AFX_DATA
  132. // ClassWizard generated virtual function overrides
  133. //{{AFX_VIRTUAL(CAboutDlg)
  134. protected:
  135. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  136. //}}AFX_VIRTUAL
  137. // Implementation
  138. protected:
  139. //{{AFX_MSG(CAboutDlg)
  140. // No message handlers
  141. //}}AFX_MSG
  142. DECLARE_MESSAGE_MAP()
  143. };
  144. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  145. {
  146. //{{AFX_DATA_INIT(CAboutDlg)
  147. //}}AFX_DATA_INIT
  148. }
  149. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  150. {
  151. CDialog::DoDataExchange(pDX);
  152. //{{AFX_DATA_MAP(CAboutDlg)
  153. //}}AFX_DATA_MAP
  154. }
  155. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  156. //{{AFX_MSG_MAP(CAboutDlg)
  157. // No message handlers
  158. //}}AFX_MSG_MAP
  159. END_MESSAGE_MAP()
  160. // App command to run the dialog
  161. void CC_EditorApp::OnAppAbout()
  162. {
  163. CAboutDlg aboutDlg;
  164. aboutDlg.DoModal();
  165. }
  166. /////////////////////////////////////////////////////////////////////////////
  167. // CC_EditorApp message handlers