MTRECALC.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // mtrecalc.cpp : Defines the class behaviors for the application.
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. #include "stdafx.h"
  13. #include "mtrecalc.h"
  14. #include "mainfrm.h"
  15. #include "calcthrd.h"
  16. #include "recaldoc.h"
  17. #include "recalcvw.h"
  18. #ifdef _DEBUG
  19. #undef THIS_FILE
  20. static char BASED_CODE THIS_FILE[] = __FILE__;
  21. #endif
  22. /////////////////////////////////////////////////////////////////////////////
  23. // CRecalcApp
  24. BEGIN_MESSAGE_MAP(CRecalcApp, CWinApp)
  25. //{{AFX_MSG_MAP(CRecalcApp)
  26. ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
  27. //}}AFX_MSG_MAP
  28. // Standard file based document commands
  29. ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  30. ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  31. // Standard print setup command
  32. ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
  33. END_MESSAGE_MAP()
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CRecalcApp construction
  36. CRecalcApp::CRecalcApp()
  37. {
  38. }
  39. /////////////////////////////////////////////////////////////////////////////
  40. // The one and only CRecalcApp object
  41. CRecalcApp theApp;
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CRecalcApp initialization
  44. BOOL CRecalcApp::InitInstance()
  45. {
  46. // WIN32 multi-threading APIs are not available on non-NT versions
  47. // of Windows less than Windows version 4.0.
  48. if ((::GetVersion() & 0x80000000) && (BYTE(::GetVersion()) < 4))
  49. {
  50. AfxMessageBox(IDS_CANNOT_RUN_ON_16BIT_WINDOWS_LT_4);
  51. return FALSE;
  52. }
  53. // Standard initialization
  54. Enable3dControls();
  55. LoadStdProfileSettings();  // Load standard INI file options (including MRU)
  56. // Register document templates
  57. CMultiDocTemplate* pDocTemplate;
  58. pDocTemplate = new CMultiDocTemplate(
  59. IDR_RECALCTYPE,
  60. RUNTIME_CLASS(CRecalcDoc),
  61. RUNTIME_CLASS(CMDIChildWnd),          // standard MDI child frame
  62. RUNTIME_CLASS(CRecalcView));
  63. AddDocTemplate(pDocTemplate);
  64. // create main MDI Frame window
  65. CMainFrame* pMainFrame = new CMainFrame;
  66. if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
  67. return FALSE;
  68. m_pMainWnd = pMainFrame;
  69. // Enable DDE Execute open
  70. EnableShellOpen();
  71. RegisterShellFileTypes(TRUE);
  72. // Parse command line for standard shell commands, DDE, file open
  73. CCommandLineInfo cmdInfo;
  74. ParseCommandLine(cmdInfo);
  75. // Dispatch commands specified on the command line
  76. if (!ProcessShellCommand(cmdInfo))
  77. return FALSE;
  78. // Enable drag/drop open
  79. m_pMainWnd->DragAcceptFiles();
  80. pMainFrame->ShowWindow(m_nCmdShow);
  81. pMainFrame->UpdateWindow();
  82. return TRUE;
  83. }
  84. /////////////////////////////////////////////////////////////////////////////
  85. // CAboutDlg dialog used for App About
  86. class CAboutDlg : public CDialog
  87. {
  88. public:
  89. CAboutDlg();
  90. // Dialog Data
  91. //{{AFX_DATA(CAboutDlg)
  92. enum { IDD = IDD_ABOUTBOX };
  93. //}}AFX_DATA
  94. // Implementation
  95. protected:
  96. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  97. //{{AFX_MSG(CAboutDlg)
  98. // No message handlers
  99. //}}AFX_MSG
  100. DECLARE_MESSAGE_MAP()
  101. };
  102. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  103. {
  104. //{{AFX_DATA_INIT(CAboutDlg)
  105. //}}AFX_DATA_INIT
  106. }
  107. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  108. {
  109. CDialog::DoDataExchange(pDX);
  110. //{{AFX_DATA_MAP(CAboutDlg)
  111. //}}AFX_DATA_MAP
  112. }
  113. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  114. //{{AFX_MSG_MAP(CAboutDlg)
  115. // No message handlers
  116. //}}AFX_MSG_MAP
  117. END_MESSAGE_MAP()
  118. // App command to run the dialog
  119. void CRecalcApp::OnAppAbout()
  120. {
  121. CAboutDlg aboutDlg;
  122. aboutDlg.DoModal();
  123. }
  124. /////////////////////////////////////////////////////////////////////////////
  125. // CRecalcApp commands