ControlGroup.cpp
资源名称:estereo2.zip [点击查看]
上传用户:fengshi120
上传日期:2014-07-17
资源大小:6155k
文件大小:2k
源码类别:
3D图形编程
开发平台:
C/C++
- // ControlGroup.cpp : implementation file
- //
- #include "stdafx.h"
- #include "StereoPlus.h"
- #include "ControlGroup.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- // CControlGroup
- CControlGroup::CControlGroup(CWnd* pParent,UINT idFrame)
- {
- m_idFrame = idFrame;
- m_pParent = pParent;
- }
- CControlGroup::~CControlGroup()
- {
- m_Controls.RemoveAll();
- int nPositions = (int)m_Positions.GetCount();
- for(int i=0;i<nPositions;i++)
- {
- CPoint* pPoint = (CPoint*)m_Positions[i];
- delete pPoint;
- }
- m_Positions.RemoveAll();
- }
- void CControlGroup::AddControl(UINT idControl)
- {
- m_Controls.Add(idControl);
- CRect rcControl;
- CWnd* pControl;
- CWnd* pHost = m_pParent->GetDlgItem(m_idFrame);
- pControl = m_pParent->GetDlgItem(idControl);
- pControl->GetWindowRect(&rcControl);
- pHost->ScreenToClient(&rcControl);
- CPoint* pPoint = new CPoint(rcControl.left,rcControl.top);
- m_Positions.Add((CObject*)pPoint);
- }
- void CControlGroup::PositionControls(void)
- {
- CWnd* pHost = m_pParent->GetDlgItem(m_idFrame);
- int nControls = (int)m_Controls.GetCount();
- CRect rcHost;
- pHost->GetWindowRect(&rcHost);
- m_pParent->ScreenToClient(&rcHost);
- CRect rcControl;
- int w,h;
- for(int i=0;i<nControls;i++)
- {
- CWnd* pControl = m_pParent->GetDlgItem(m_Controls[i]);
- CPoint *pPosition = (CPoint*)m_Positions[i];
- pControl->GetWindowRect(rcControl);
- w = rcControl.Width();
- h = rcControl.Height();
- rcControl.left = rcHost.left + pPosition->x;
- rcControl.right = rcControl.left + w;
- rcControl.top = rcHost.top + pPosition->y;
- rcControl.bottom = rcControl.top + h;
- pControl->MoveWindow(&rcControl);
- }
- }
- // CControlGroup member functions