ControlGroup.cpp
上传用户:fengshi120
上传日期:2014-07-17
资源大小:6155k
文件大小:2k
源码类别:

3D图形编程

开发平台:

C/C++

  1. // ControlGroup.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "StereoPlus.h"
  5. #include "ControlGroup.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. // CControlGroup
  12. CControlGroup::CControlGroup(CWnd* pParent,UINT idFrame)
  13. {
  14. m_idFrame = idFrame;
  15. m_pParent = pParent;
  16. }
  17. CControlGroup::~CControlGroup()
  18. {
  19. m_Controls.RemoveAll();
  20. int nPositions = (int)m_Positions.GetCount();
  21. for(int i=0;i<nPositions;i++)
  22. {
  23. CPoint* pPoint = (CPoint*)m_Positions[i];
  24. delete pPoint;
  25. }
  26. m_Positions.RemoveAll();
  27. }
  28. void CControlGroup::AddControl(UINT idControl)
  29. {
  30. m_Controls.Add(idControl);
  31. CRect rcControl;
  32. CWnd* pControl;
  33. CWnd* pHost = m_pParent->GetDlgItem(m_idFrame);
  34. pControl = m_pParent->GetDlgItem(idControl);
  35. pControl->GetWindowRect(&rcControl);
  36. pHost->ScreenToClient(&rcControl);
  37. CPoint* pPoint = new CPoint(rcControl.left,rcControl.top);
  38. m_Positions.Add((CObject*)pPoint);
  39. }
  40. void CControlGroup::PositionControls(void)
  41. {
  42. CWnd* pHost = m_pParent->GetDlgItem(m_idFrame);
  43. int nControls = (int)m_Controls.GetCount();
  44. CRect rcHost;
  45. pHost->GetWindowRect(&rcHost);
  46. m_pParent->ScreenToClient(&rcHost);
  47. CRect rcControl;
  48. int w,h;
  49. for(int i=0;i<nControls;i++)
  50. {
  51. CWnd* pControl = m_pParent->GetDlgItem(m_Controls[i]);
  52. CPoint *pPosition = (CPoint*)m_Positions[i];
  53. pControl->GetWindowRect(rcControl);
  54. w = rcControl.Width();
  55. h = rcControl.Height();
  56. rcControl.left = rcHost.left + pPosition->x;
  57. rcControl.right = rcControl.left + w;
  58. rcControl.top = rcHost.top + pPosition->y;
  59. rcControl.bottom = rcControl.top + h;
  60. pControl->MoveWindow(&rcControl);
  61. }
  62. }
  63. // CControlGroup member functions