int num=pView->GetDocument()->m_objects.GetCount();
while(i<num)
{//所有与之相连箭线同步移动
CDrawRect* pDrawObj=(CDrawRect*)pView->GetDocument()->m_objects.GetNext(Rectpos);
if(pDrawObj!=NULL)
{
if(Index==pDrawObj->m_ForeConnect)
{//节点是箭线始节点
CRect deltarect=pDrawObj->m_position;
deltarect.BottomRight()+=delta;
int length=deltarect.top-deltarect.bottom;
int width=deltarect.left-deltarect.right;
//节点移动,箭线与节点的连接点改变,计算连接点位置
if(abs(length)<abs(width)&&width<0)
deltarect.BottomRight()=pDrawCircle->GetHandle(8);
if(abs(length)<abs(width)&&width>0)
deltarect.BottomRight()=pDrawCircle->GetHandle(4);
if((abs(length)>abs(width)&&width>0&&length<0)||
(abs(length)>abs(width)&&width<0&&length<0))
deltarect.BottomRight()=pDrawCircle->GetHandle(2);
if((abs(length)>abs(width)&&length>0&&width>0)||
(abs(length)>abs(width)&&length>0&&width<0))
deltarect.BottomRight()=pDrawCircle->GetHandle(6);
int nIndex=pDrawObj->m_BackConnect;
POSITION circlepos=pView->GetDocument()->m_objects.GetHeadPosition();
if(circlepos!=NULL)
{
int i=0;
int num=pView->GetDocument()->m_objects.GetCount();
while(i<num)
{
|