// 그룹핑을 해제시키는 함수 void Group::DisGrouping(CPtrList& listObj, CPtrList& listObj2) { //노드 데이터 부분의 그룹 해제 POSITION posNode = this->NodeData.GetHeadPosition(); while (posNode) //노드 데이터 리스트 순회 { Figure* pObj = (Figure*)this->NodeData.GetNext(posNode); pObj->SetGrouped(FALSE); //그룹이 아님을 표시 pObj->setSelected(TRUE); listObj.AddTail(pObj); //선택 리스트에 넣음 listObj2.AddTail(pObj); //선택 리스트에 넣음 } this->NodeData.RemoveAll(); //차일드 부분의 그룹 해제 POSITION posChild = this->Child.GetHeadPosition(); while (posChild) //차일드 리스트 순회 { Group* pObj = (Group*)this->Child.GetNext(posChild); pObj->SetGrouped(FALSE); //그룹이 아님을 표시 listObj.AddTail(pObj); //선택 리스트에 넣음 listObj2.AddTail(pObj); //선택 리스트에 넣음 } }