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

界面编程

开发平台:

Visual C++

  1. // ProfUIS_Controls.cpp : Defines the class behaviors for the application.
  2. //
  3. #include "stdafx.h"
  4. #include "ProfUIS_Controls.h"
  5. #include "MainDlg.h"
  6. #include <ExtCmdManager.h>
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CMainApp
  14. BEGIN_MESSAGE_MAP(CMainApp, CWinApp)
  15. //{{AFX_MSG_MAP(CMainApp)
  16. // NOTE - the ClassWizard will add and remove mapping macros here.
  17. //    DO NOT EDIT what you see in these blocks of generated code!
  18. //}}AFX_MSG
  19. ON_COMMAND(ID_HELP, CWinApp::OnHelp)
  20. END_MESSAGE_MAP()
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CMainApp construction
  23. CMainApp::CMainApp()
  24. {
  25. // TODO: add construction code here,
  26. // Place all significant initialization in InitInstance
  27. }
  28. /////////////////////////////////////////////////////////////////////////////
  29. // The one and only CMainApp object
  30. CMainApp theApp;
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CMainApp initialization
  33. BOOL CMainApp::InitInstance()
  34. {
  35. AfxEnableControlContainer();
  36. VERIFY( AfxOleInit() );
  37. VERIFY( AfxInitRichEdit() );
  38. // Standard initialization
  39. // If you are not using these features and wish to reduce the size
  40. //  of your final executable, you should remove from the following
  41. //  the specific initialization routines you do not need.
  42. #if _MFC_VER < 0x700
  43. #ifdef _AFXDLL
  44. Enable3dControls(); // Call this when using MFC in a shared DLL
  45. #else
  46. Enable3dControlsStatic(); // Call this when linking to MFC statically
  47. #endif
  48. #endif
  49. SetRegistryKey( _T("Foss") );
  50. ASSERT( m_pszRegistryKey != NULL );
  51.     // Change the application profile name (usually product name).
  52. // NOTE: The CWinApp class destructor will free the memory automatically.
  53. if( m_pszProfileName != NULL )
  54. free( (void*)m_pszProfileName );
  55. m_pszProfileName =
  56. _tcsdup( _T("ProfUIS_Controls") );
  57. ASSERT( m_pszProfileName != NULL );
  58. VERIFY(
  59. g_CmdManager->ProfileSetup(
  60. m_pszProfileName
  61. )
  62. );
  63. CWinApp * pApp = ::AfxGetApp();
  64. ASSERT( pApp != NULL );
  65. ASSERT( pApp->m_pszRegistryKey != NULL );
  66. ASSERT( pApp->m_pszRegistryKey[0] != _T('') );
  67. ASSERT( pApp->m_pszProfileName != NULL );
  68. ASSERT( pApp->m_pszProfileName[0] != _T('') );
  69. if( ! g_PaintManager.PaintManagerStateLoad(
  70. pApp->m_pszRegistryKey,
  71. pApp->m_pszProfileName,
  72. pApp->m_pszProfileName
  73. )
  74. )
  75. g_PaintManager.InstallPaintManager(
  76. RUNTIME_CLASS(CExtPaintManagerOffice2010_R1)
  77. );
  78. //  CExtPaintManagerSkin * pPM = new CExtPaintManagerSkin;
  79. //  bool bLoaded = true;
  80. //  if( ! pPM->m_Skin.Load( _T("..\..\Skins\XML\Aqua.XML") ) )
  81. //  // if( ! pPM->m_Skin.Load( _T("..\..\Skins\XML\BlackDiamond.xml") ) )
  82. //  {
  83. //  bLoaded = false;
  84. //  ::AfxMessageBox( _T("Failed to load initial skin.") );
  85. //  delete pPM;
  86. //  }
  87. //  if( bLoaded )
  88. //  g_PaintManager.InstallPaintManager( pPM );
  89. CMainDlg dlgMain;
  90. m_pMainWnd = &dlgMain;
  91. __EXT_MFC_INT_PTR nResponse = dlgMain.DoModal();
  92. if( nResponse == IDOK )
  93. {
  94. // TODO: Place code here to handle when the dialog is
  95. //  dismissed with OK
  96. }
  97. else if (nResponse == IDCANCEL)
  98. {
  99. // TODO: Place code here to handle when the dialog is
  100. //  dismissed with Cancel
  101. }
  102. VERIFY(
  103. g_PaintManager.PaintManagerStateSave(
  104. pApp->m_pszRegistryKey,
  105. pApp->m_pszProfileName,
  106. pApp->m_pszProfileName
  107. )
  108. );
  109. // Since the dialog has been closed, return FALSE so that we exit the
  110. //  application, rather than start the application's message pump.
  111. return FALSE;
  112. }