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
[3722] Re:리스트뷰에서 리스트뷰로 드래그&드롭어떻게 하나염
원영준 [] 3615 읽음    2000-07-13 00:00
아래 쏘스를 응용하세요 드래그 드롭 방식은 똑같으나까 source와 target이 뭐가 되든 상관없습니다.
아래 쏘스는 리스트막스내의 멀티 쎌렉트된 행을 tree의 child로 넣는 기능과
트리에서 트리로(self) 드래그드롭시 순서를 바꾸거나 부모를 바꾸어 주기 위한 쏘스입니다.

리스트뷰에서 리스트뷰도 응용하면 됩니다. 답장이 되었스면 합니다.



void __fastcall TMenuHandling::tDragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
    if (dynamic_cast<TTreeView*> (Source) )
    {
        TTreeNode *source, *target;
        target = t->DropTarget;
        source = t->Selected;

        if( source->Parent == target )
        {
            return;
        }

        if(source->Parent == target->Parent )
            source->MoveTo(target,   naInsert);
        else
            source->MoveTo(target,  naAddChild);
    }
    else if (dynamic_cast<TListBox*> (Source) )
    {
        int rows;

        for(rows=0; rows < l->Items->Count; rows++)
        {
            if(!l->Selected[rows]) continue;
            t->Items->AddChild(t->DropTarget, l->Items->Strings[rows] );
        }

        for(rows=l->Items->Count-1; rows>=0; rows --)
        {
            if(l->Selected[rows]) l->Items->Delete(rows);
        }
    }

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


void __fastcall TMenuHandling::tDragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
    if (dynamic_cast<TTreeView*> (Source) ||  dynamic_cast<TListBox*> (Source))
        Accept = true;
    else
        Accept = false;

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

+ -

관련 글 리스트
3720 리스트뷰에서 리스트뷰로 드래그&드롭어떻게 하나염 박세연 3264 2000/07/13
3722     Re:리스트뷰에서 리스트뷰로 드래그&드롭어떻게 하나염 원영준 3615 2000/07/13
3726         Re:Re:리스트뷰에서 리스트뷰로 드래그&드롭어떻게 하나염(허걱) 박세연 3368 2000/07/13
3737             Re:Re:Re:리스트뷰에서 리스트뷰로 드래그&드롭어떻게 하나염(허걱) 원영준 3433 2000/07/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.