CRectTracker类的功能是现成的,可以直接使用,真是太强大了。
单个控件的拖放和调整是很简单的,如果要进行多选操作,就要多花点时间,下一步就要实现多选的操作。
void CTEST3Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
//初始化
CRect r = GetItemRect(IDC_BUTTON1);
pTrack->m_rect = r ;
pTrack->m_nHandleSize =4 ;
pTrack->m_nStyle= CRectTracker::resizeOutside|CRectTracker::hatchedBorder;
//画出选择框
CDC* dc = GetDC();
pTrack->Draw( dc);
//跟踪拖放功能
pTrack->Track(this,point);
//施放结速后,调整控件的位置
m_button.MoveWindow(&pTrack->m_rect,TRUE);
//简单刷新整个界面
Invalidate(TRUE);
CDialog::OnLButtonDown(nFlags, point);
}