|
음..요즘은 자답만 하는군요..^^
수야님의 힌트가 맞는거네요..
moveto를 써야합니다.
핼프에 나오는거 그대로 쓰면되네요...
밑에 코딩은 별로 좋지 않는거네요...^^;
김성국 님이 쓰신 글 :
: ㅜㅜ 이상하게 이질문에 대해선 명쾌한 답변이 없군요...그래서 이번엔 소스를 아예 올립니다 ^^;
:
: 같은 트리내에서 하위노드가 있는 것을 다른 노드밑으로 이동시킬때(여기선 걍 delete는 신경
: 쓰지 않았습니다.) 계속 while 에서 에러가 나네요....
:
: 객체를 넣은상태가 name이라는 것이 객체 안에 있는 변수거든요..
: feature가 n이면 하위노드들이 존재하는 경우입니다.
:
: DropTarget에 옮길 노드의 상위노드를 생성하고..(node3)
: 그 밑에 옮길노드의 하위노드들을 while문안에서 node3 밑으로 가져다가 붙이는 루틴입니다.
:
:
:
: void __fastcall TSunRo_Form::TreeView1DragDrop(TObject *Sender,
: TObject *Source, int X, int Y)
: {
: if (dynamic_cast<TTreeView *>(Source) !=0) {
: TTreeNode *node3 = TreeView1->DropTarget;
: node3 = TreeView1->Items->AddChildObject(
: TreeView1->DropTarget,PAddrDP(TreeView1->Selected->Data)->name,
: TreeView1->Selected->Data);
:
: //여기까진 혼자 있을때...옮기는거....이건 잘되구요...
:
: //여기서 부터가 하위노드가 있을 경우의 처리
: if (PAddrDP(TreeView1->Selected->Data)->feature =="N"){
:
: //여기서 부터 안되는군요...자꾸 메모리참조에러같은게 나는데..
: //도저히 못잡아 내겠습니다.
: while(TTreeNode *node = TreeView1->Selected->GetNextChild(node)){
: TTreeNode *node1 =
: TreeView1->Items->AddChildObject(node3,
: PAddrDP(node->Data)->name,node->Data);
: }
:
:
: }
: }
: }
:
:
:
: 고수님들의 조언부탁드립니다........
: 그럼 즐푸~~
:
|