MDIDOCVIEW.cpp
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:6k
源码类别:

界面编程

开发平台:

Visual C++

  1. // MDIDOCVIEW.cpp : Defines the class behaviors for the application.
  2. //
  3. #include "stdafx.h"
  4. #include "MDIDOCVIEW.h"
  5. #include "MainFrm.h"
  6. #include "ChildFrm.h"
  7. #include "MDIDOCVIEWDoc.h"
  8. #include "MDIDOCVIEWView.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CMDIDOCVIEWApp
  16. BEGIN_MESSAGE_MAP(CMDIDOCVIEWApp, CWinApp)
  17. //{{AFX_MSG_MAP(CMDIDOCVIEWApp)
  18. ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
  19. //}}AFX_MSG_MAP
  20. // Standard file based document commands
  21. ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  22. ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  23. // Standard print setup command
  24. ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
  25. END_MESSAGE_MAP()
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CMDIDOCVIEWApp construction
  28. CMDIDOCVIEWApp::CMDIDOCVIEWApp()
  29. {
  30. // TODO: add construction code here,
  31. // Place all significant initialization in InitInstance
  32. }
  33. /////////////////////////////////////////////////////////////////////////////
  34. // The one and only CMDIDOCVIEWApp object
  35. CMDIDOCVIEWApp theApp;
  36. /////////////////////////////////////////////////////////////////////////////
  37. // Prof-UIS advanced options
  38. void CMDIDOCVIEWApp::SetupUiAdvancedOptions()
  39. {
  40. ASSERT( m_pszRegistryKey != NULL );
  41. ASSERT( m_pszRegistryKey[0] != _T('') );
  42. ASSERT( m_pszProfileName != NULL );
  43. ASSERT( m_pszProfileName[0] != _T('') );
  44. //
  45. // Prof-UIS command manager profile
  46. //
  47. VERIFY(
  48. g_CmdManager->ProfileSetup( m_pszProfileName )
  49. );
  50. //
  51. // Popup menu option: Display menu shadows
  52.     //
  53. CExtPopupMenuWnd::g_bMenuWithShadows = true;
  54. //
  55. // Popup menu option: Display menu cool tips
  56.     //
  57. CExtPopupMenuWnd::g_bMenuShowCoolTips = true;
  58. //
  59. // Popup menu option: Initially hide rarely used items (RUI)
  60.     //
  61. CExtPopupMenuWnd::g_bMenuExpanding = true;
  62. //
  63. // Popup menu option: Display RUI in different style
  64.     //
  65. CExtPopupMenuWnd::g_bMenuHighlightRarely = true;
  66. //
  67. // Popup menu option: Animate when expanding RUI (like Office XP)
  68.     //
  69. CExtPopupMenuWnd::g_bMenuExpandAnimation = true;
  70. //
  71. // Popup menu option: Align to desktop work area (false - to screen area)
  72.     //
  73. CExtPopupMenuWnd::g_bUseDesktopWorkArea = true;
  74. //
  75. // Popup menu option: Popup menu animation effect (when displaying)
  76.     //
  77. CExtPopupMenuWnd::g_DefAnimationType =
  78. CExtPopupMenuWnd::__AT_FADE;
  79. }
  80. /////////////////////////////////////////////////////////////////////////////
  81. // CMDIDOCVIEWApp initialization
  82. BOOL CMDIDOCVIEWApp::InitInstance()
  83. {
  84. InitCommonControls();
  85. AfxEnableControlContainer();
  86. // Standard initialization
  87. // If you are not using these features and wish to reduce the size
  88. //  of your final executable, you should remove from the following
  89. //  the specific initialization routines you do not need.
  90. #if _MFC_VER < 0x700
  91. #ifdef _AFXDLL
  92. Enable3dControls(); // Call this when using MFC in a shared DLL
  93. #else
  94. Enable3dControlsStatic(); // Call this when linking to MFC statically
  95. #endif
  96. #endif
  97. // Change the registry key under which our settings are stored.
  98. // TODO: You should modify this string to be something appropriate
  99. // such as the name of your company or organization.
  100. SetRegistryKey( _T("Foss") );
  101. ASSERT( m_pszRegistryKey != NULL );
  102.     // Change the application profile name (usually product name).
  103. // NOTE: The CWinApp class destructor will free the memory automatically.
  104. if( m_pszProfileName != NULL )
  105. free( (void*)m_pszProfileName );
  106. m_pszProfileName =
  107. _tcsdup( _T("MDIDOCVIEW") );
  108. ASSERT( m_pszProfileName != NULL );
  109. //
  110. // Prof-UIS advanced options
  111.     //
  112. SetupUiAdvancedOptions();
  113. LoadStdProfileSettings(16);  // Load standard INI file options (including MRU)
  114. // Register the application's document templates.  Document templates
  115. //  serve as the connection between documents, frame windows and views.
  116. #if (!defined __EXT_MFC_NO_SHELL_DIALOG_FILE)
  117. // make CDocManager using CExtShellDialogFile instead of CFileDialog
  118. ASSERT( m_pDocManager == NULL );
  119. m_pDocManager = new CExtDMFP < CDocManager >;
  120. #endif // (!defined __EXT_MFC_NO_SHELL_DIALOG_FILE)
  121. CMultiDocTemplate* pDocTemplate;
  122. pDocTemplate = new CMultiDocTemplate(
  123. IDR_MDIDOCTYPE,
  124. RUNTIME_CLASS(CMDIDOCVIEWDoc),
  125. RUNTIME_CLASS(CChildFrame), // custom MDI child frame
  126. RUNTIME_CLASS(CMDIDOCVIEWView));
  127. AddDocTemplate(pDocTemplate);
  128. // create main MDI Frame window
  129. CMainFrame* pMainFrame = new CMainFrame;
  130. if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
  131. return FALSE;
  132. m_pMainWnd = pMainFrame;
  133. // Enable drag/drop open
  134. m_pMainWnd->DragAcceptFiles();
  135. // Enable DDE Execute open
  136. EnableShellOpen();
  137. RegisterShellFileTypes(TRUE);
  138. // Parse command line for standard shell commands, DDE, file open
  139. CCommandLineInfo cmdInfo;
  140. ParseCommandLine(cmdInfo);
  141. // Dispatch commands specified on the command line
  142. if (!ProcessShellCommand(cmdInfo))
  143. return FALSE;
  144. // The main window has been initialized, so show and update it.
  145. pMainFrame->ActivateFrame( m_nCmdShow );
  146. //  ::SetActiveWindow( NULL );
  147. //  pMainFrame->SetActiveWindow();
  148. return TRUE;
  149. }
  150. // App command to run the dialog
  151. void CMDIDOCVIEWApp::OnAppAbout()
  152. {
  153. #ifndef __EXT_MFC_NO_PROF_UIS_ABOUT_DIALOG
  154. VERIFY( ProfUISAbout() );
  155. #endif // #ifndef __EXT_MFC_NO_PROF_UIS_ABOUT_DIALOG
  156. }
  157. /////////////////////////////////////////////////////////////////////////////
  158. // CMDIDOCVIEWApp message handlers