C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[18039] Re:Re:[재질문] 루틴을 비교해 봤는데..문제점을 못 찾겠네염..ㅠ_ㅠ
에궁... [skyweb] 800 읽음    2002-04-29 21:47
답변 감사드립니다..^^

다른 루틴에서 충돌이 날수도 있다고 하신 유영인님의 말씀대로 트리1과 트리2에서

사용된 루틴을 비교해 봤는데 저의 모자른 능력으론.. 충돌날 만한곳이 없는거 같아서요..

이리해 보고 저리 해봐도 ..해답이 안나와염.....

귀찮으시겠지만 아래에 소스좀 봐 주세요...ㅠ_ㅠ

bool Check1,Chek2;

void __fastcall TGroupMove::TreeView1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{

  if(TreeView1->Selected == NULL ) return;
  TNodeAttachMode AttachMode;
  THitTests HT = TreeView1->GetHitTestInfoAt(X, Y);
  TTreeNode *Node = TreeView1->GetNodeAt(X, Y);
   if( HT.Contains(htOnItem) || HT.Contains(htOnIcon) || HT.Contains(htNowhere) || HT.Contains(htOnIndent) )
        {
           if( HT.Contains(htOnItem) || HT.Contains(htOnIcon) )

                AttachMode = naAddChild;

             else if( HT.Contains(htNowhere) )
                AttachMode = naAdd;

             else if( HT.Contains(htOnIndent) )
               if(!Node) return;
               if(Node == myNode)
                {
             Application->MessageBox("같은 노드로는 이동 안됨.", "Error",MB_ICONERROR|MB_OK);
                 return;
                }
              AttachMode = naInsert;

             TreeView1->Selected->MoveTo(Node, AttachMode);
        }


  }

  TreeView1->FullExpand();

}
//---------------------------------------------------------------------------

void __fastcall TGroupMove::TreeView1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
    
      if(Check1)
        Accept = true;
      else Accept = false;
    
}
//-----------------------------------------------------------------------------
void __fastcall TGroupMove::TreeView1StartDrag(TObject *Sender,
      TDragObject *&DragObject)
{
     Check1 = true ;
}
//------------------------------------------------------------------------------
void __fastcall TGroupMove::TreeView1EndDrag(TObject *Sender,
      TObject *Target, int X, int Y)
{
      Check1 = false;
}

//----------------------------------------------------------------------------
void __fastcall TGroupMove::TreeView2DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{

  if(TreeView2->Selected == NULL ) return;
  TNodeAttachMode AttachMode;

  THitTests HT = TreeView2->GetHitTestInfoAt(X, Y);
  TTreeNode *NNode = TreeView2->GetNodeAt(X, Y);

   if( HT.Contains(htOnItem) || HT.Contains(htOnIcon) || HT.Contains(htNowhere) || HT.Contains(htOnIndent) )
        {
           if( HT.Contains(htOnItem) || HT.Contains(htOnIcon) )
               AttachMode = naAddChild;

             else if( HT1.Contains(htNowhere) )
                AttachMode = naAdd;

             else if( HT1.Contains(htOnIndent) )
              if(!NNode) return;
              if(NNode == myNode1)
               {
            Application->MessageBox("같은 노드로는 이동 안됨.", "Error",MB_ICONERROR|MB_OK);
                return;
               }
              AttachMode = naInsert;

         TreeView2->Selected->MoveTo(NNode, AttachMode);
        }

  }
  TreeView2->FullExpand();
    

}

//---------------------------------------------------------------------------

void __fastcall TGroupMove::TreeView2DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
  
     if(Check2)
         Accept = true;
     else Accept = false;
  
}

//-----------------------------------------------------------------------------
void __fastcall TGroupMove::TreeView1StartDrag(TObject *Sender,
      TDragObject *&DragObject)
{
     Check2 = true ;
}
//------------------------------------------------------------------------------
void __fastcall TGroupMove::TreeView1EndDrag(TObject *Sender,
      TObject *Target, int X, int Y)
{
      Check2 = false;
}

+ -

관련 글 리스트
18031 [재질문] 한폼에 두개의 트리뷰에서 드래그드랍 문제 에궁... 820 2002/04/29
18033     Re:[재질문] 한폼에 두개의 트리뷰에서 드래그드랍 문제 유영인 [Chris] 846 2002/04/29
18039         Re:Re:[재질문] 루틴을 비교해 봤는데..문제점을 못 찾겠네염..ㅠ_ㅠ 에궁... 800 2002/04/29
18050             Re:Re:Re:[재질문] 루틴을 비교해 봤는데..문제점을 못 찾겠네염..ㅠ_ㅠ 유영인 [Chris] 771 2002/04/30
18071                 Re:Re:Re:Re:[재질문] 다시 재 도전 에궁... 722 2002/04/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.