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

界面编程

开发平台:

Visual C++

  1. // This is part of the Professional User Interface Suite library.
  2. // Copyright (C) 2001-2009 FOSS Software, Inc.
  3. // All rights reserved.
  4. //
  5. // http://www.prof-uis.com
  6. // mailto:support@prof-uis.com
  7. //
  8. // This source code can be used, modified and redistributed
  9. // under the terms of the license agreement that is included
  10. // in the Professional User Interface Suite package.
  11. //
  12. // Warranties and Disclaimers:
  13. // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND
  14. // INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
  15. // FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
  16. // IN NO EVENT WILL FOSS SOFTWARE INC. BE LIABLE FOR ANY DIRECT,
  17. // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES,
  18. // INCLUDING DAMAGES FOR LOSS OF PROFITS, LOSS OR INACCURACY OF DATA,
  19. // INCURRED BY ANY PERSON FROM SUCH PERSON'S USAGE OF THIS SOFTWARE
  20. // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  21. #include "stdafx.h"
  22. #if (!defined __EXT_MFC_DEF_H)
  23. #include <ExtMfcDef.h>
  24. #endif
  25. #ifndef __AFXSTATE_H__
  26. #include <AfxStat_.h>
  27. #endif
  28. #if (defined __PROF_UIS_PERFORMS_STATE_MANAGING)
  29. #if _MFC_VER < 0x800
  30. #ifndef _AFXDLL
  31. class _AFX_THREAD_STATE;
  32. struct AFX_MAINTAIN_STATE2
  33. {
  34. AFX_MAINTAIN_STATE2(AFX_MODULE_STATE* pModuleState);
  35. ~AFX_MAINTAIN_STATE2();
  36. protected:
  37. AFX_MODULE_STATE* m_pPrevModuleState;
  38. _AFX_THREAD_STATE* m_pThreadState;
  39. };
  40. AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE* pNewState)
  41. {
  42. m_pThreadState = _afxThreadState;
  43. m_pPrevModuleState = m_pThreadState->m_pModuleState;
  44. m_pThreadState->m_pModuleState = pNewState;
  45. }
  46. AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()
  47. {
  48. m_pThreadState->m_pModuleState = m_pPrevModuleState;
  49. }
  50. #endif //_AFXDLL
  51. #endif // _MFC_VER < 0x800
  52. AFX_MODULE_STATE * CExt_ProfUIS_ModuleState::g_pExternalModuleState = NULL;
  53. CExt_ProfUIS_ModuleState::CExt_ProfUIS_ModuleState()
  54. {
  55. m_pAfxState = NULL;
  56. if( g_pExternalModuleState != NULL )
  57. m_pAfxState = new AFX_MAINTAIN_STATE2( g_pExternalModuleState );
  58. }
  59. CExt_ProfUIS_ModuleState::~CExt_ProfUIS_ModuleState()
  60. {
  61. if( m_pAfxState != NULL )
  62. delete m_pAfxState;
  63. }
  64. void CExt_ProfUIS_ModuleState::InitExtension(
  65. AFX_MODULE_STATE * pExternalModuleState // = NULL
  66. )
  67. {
  68. // new CDynLinkLibrary( the_ProfUIS_ExtensionModule );
  69. g_pExternalModuleState = pExternalModuleState;
  70. }
  71. #endif // (defined __PROF_UIS_PERFORMS_STATE_MANAGING)