已经实现 单个控件拖动,但不知道怎样 同时 拖动多个控件:
OnLButtonDown(UINT nFlags, CPoint point)中:
if(bIsLShiftKey == TRUE)
{
ptPut = point; 
ClientToScreen(&ptPut);   
CRect rect1;
    for(int i=0;i<m_nNum;i++)        //遍历位图控件
{
GetDlgItem(BmpID[i])->GetWindowRect(rect1);
if(rect1.PtInRect(ptPut))
{
rectPic = rect1;
nID = BmpID[i];
break;
}
} if(rectPic.PtInRect(ptPut))    //判断定鼠标点 是否在位图区域内

BtDownX = ptPut.x;
BtDownY = ptPut.y;
CBitmap bitmapTemp, *pOldBitmap;  
CDC *pDC = GetDlgItem(nID)->GetDC(), *pMemDC = new CDC; 
 
bitmapTemp.CreateCompatibleBitmap(pDC, rectPic.Width(), rectPic.Height()); 
pMemDC->CreateCompatibleDC(pDC);  
pOldBitmap = pMemDC->SelectObject(&bitmapTemp);  
pMemDC->BitBlt(0,0, rectPic.Width(), rectPic.Height(), pDC, 0, 0, SRCCOPY);  pMemDC->SelectObject(pOldBitmap); 
delete pMemDC;                              
ReleaseDC(pDC);          m_bIsLButtonDown = TRUE; m_ptOffset.x = ptPut.x-rectPic.left;        
m_ptOffset.y = ptPut.y-rectPic.top;           m_imgDrag.DeleteImageList(); 
m_imgDrag.Create(rectPic.Width(), rectPic.Height(), ILC_COLOR32|ILC_MASK, 0, 1);    
m_imgDrag.Add(&bitmapTemp, RGB(0, 0, 0));        m_imgDrag.BeginDrag(0, m_ptOffset);           
m_imgDrag.DragEnter(NULL, ptPut);    SetCapture(); 
}
}