ChildFrm.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // ChildFrm.cpp : implementation of the CChildFrame class
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #include "stdafx.h"
  21. #include "WindowPos.h"
  22. #include "ChildFrm.h"
  23. #include "WindowPosDoc.h"
  24. #ifdef _DEBUG
  25. #define new DEBUG_NEW
  26. #undef THIS_FILE
  27. static char THIS_FILE[] = __FILE__;
  28. #endif
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CChildFrame
  31. IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd)
  32. BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
  33. //{{AFX_MSG_MAP(CChildFrame)
  34. ON_WM_DESTROY()
  35. //}}AFX_MSG_MAP
  36. END_MESSAGE_MAP()
  37. /////////////////////////////////////////////////////////////////////////////
  38. // CChildFrame construction/destruction
  39. CChildFrame::CChildFrame()
  40. {
  41. m_strWindowPos = _T("");
  42. }
  43. CChildFrame::~CChildFrame()
  44. {
  45. }
  46. BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
  47. {
  48. // TODO: Modify the Window class or styles here by modifying
  49. //  the CREATESTRUCT cs
  50. if( !CMDIChildWnd::PreCreateWindow(cs) )
  51. return FALSE;
  52. return TRUE;
  53. }
  54. /////////////////////////////////////////////////////////////////////////////
  55. // CChildFrame diagnostics
  56. #ifdef _DEBUG
  57. void CChildFrame::AssertValid() const
  58. {
  59. CMDIChildWnd::AssertValid();
  60. }
  61. void CChildFrame::Dump(CDumpContext& dc) const
  62. {
  63. CMDIChildWnd::Dump(dc);
  64. }
  65. #endif //_DEBUG
  66. /////////////////////////////////////////////////////////////////////////////
  67. // CChildFrame message handlers
  68. void CChildFrame::ActivateFrame(int nCmdShow)
  69. {
  70. // Let the frame activate first...
  71. CMDIChildWnd::ActivateFrame(nCmdShow);
  72. // Create the format string for saving the window position to
  73. // the system registry.  You can increment this number for each
  74. // document type that you want to save position for.
  75. int iDocType = 0;
  76. CView* pView = GetActiveView();
  77. if (pView)
  78. {
  79. CDocument* pDocument = pView->GetDocument();
  80. if (pDocument)
  81. {
  82. if (pDocument->IsKindOf(RUNTIME_CLASS(CWindowPosDoc))) {
  83. iDocType = 1;
  84. }
  85. //          else if (pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc2))) {
  86. //              iDocType = 2;
  87. //          }
  88. //          else if (pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc3))) {
  89. //              iDocType = 3;
  90. //          }
  91. }
  92. }
  93. m_strWindowPos.Format(IDS_REG_MDI_WNDPOS, iDocType);
  94. // then restore the previous window position.
  95. m_wndPosition.LoadWindowPos(this, m_strWindowPos);
  96. }
  97. void CChildFrame::OnDestroy()
  98. {
  99. // Save frame window size and position.
  100. m_wndPosition.SaveWindowPos(this, m_strWindowPos);
  101. CMDIChildWnd::OnDestroy();
  102. }