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

界面编程

开发平台:

Visual C++

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