ChildFrm.cpp
上传用户:czhlgg
上传日期:2007-01-02
资源大小:53k
文件大小:2k
源码类别:

PropertySheet

开发平台:

Visual C++

  1. // ChildFrm.cpp : implementation of the CChildFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "MdLessPpsh.h"
  5. #include "Pg1.h"
  6. #include "Pg2.h"
  7. #include "ModelessPpsh.h"
  8. #include "ChildFrm.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CChildFrame
  16. IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd)
  17. BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
  18. //{{AFX_MSG_MAP(CChildFrame)
  19. ON_COMMAND(ID_VIEW_PPSH, OnViewPpsh)
  20. ON_WM_SIZE()
  21. //}}AFX_MSG_MAP
  22. END_MESSAGE_MAP()
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CChildFrame construction/destruction
  25. CChildFrame::CChildFrame()
  26. {
  27. // TODO: add member initialization code here
  28. }
  29. CChildFrame::~CChildFrame()
  30. {
  31. delete m_pPg1;
  32. delete m_pPg2;
  33. }
  34. BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
  35. {
  36. // TODO: Modify the Window class or styles here by modifying
  37. //  the CREATESTRUCT cs
  38. return CMDIChildWnd::PreCreateWindow(cs);
  39. }
  40. /////////////////////////////////////////////////////////////////////////////
  41. // CChildFrame diagnostics
  42. #ifdef _DEBUG
  43. void CChildFrame::AssertValid() const
  44. {
  45. CMDIChildWnd::AssertValid();
  46. }
  47. void CChildFrame::Dump(CDumpContext& dc) const
  48. {
  49. CMDIChildWnd::Dump(dc);
  50. }
  51. #endif //_DEBUG
  52. /////////////////////////////////////////////////////////////////////////////
  53. // CChildFrame message handlers
  54. void CChildFrame::OnViewPpsh() 
  55. {
  56. CModelessPpsh Ppsh;
  57. CPg1 pPg1;
  58. CPg2 pPg2;
  59. Ppsh.AddPage(&pPg1);
  60. Ppsh.AddPage(&pPg2);
  61. Ppsh.DoModal();
  62. }
  63. BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
  64. {
  65. // do not call base class!
  66. //return CMDIChildWnd::OnCreateClient(lpcs, pContext);
  67. m_pPg1 = new CPg1();
  68. m_pPg2 = new CPg2();
  69. m_Ppsh.AddPage(m_pPg1);
  70. m_Ppsh.AddPage(m_pPg2);
  71. m_Ppsh.Create(this, WS_CHILD);
  72. m_Ppsh.ShowWindow(SW_SHOW);
  73. CRect clientRect;
  74. return TRUE;  
  75. }
  76. void CChildFrame::OnSize(UINT nType, int cx, int cy) 
  77. {
  78. CMDIChildWnd::OnSize(nType, cx, cy);
  79. if(m_Ppsh.m_hWnd == 0)
  80. return;
  81. //this will change only the size of property sheet.
  82. //you will have to add code to resize property pages.
  83. //use m_Ppsh.GetTabControl()->MoveWindow to do it
  84. CRect clientRect;
  85. GetClientRect(clientRect);
  86. m_Ppsh.MoveWindow(clientRect);
  87. }