線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1772
推到 Plurk!
推到 Facebook!

TreeView拖曳時新增NODE問題

答題得分者是:harpist
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-03 17:21:04 IP:61.220.xxx.xxx 訂閱
如下面...假設我拖曳D.然後要放到A下面(同層..不是A的子NODE).然後會在A跟B的中間先ADD一個新的NODE.
旦不給名稱.看起來就好像空格.然後拖曳到空格後放開滑鼠才會將D取代空格.如果移到B就是B跟C中間ADD一個NODE...然後先前的A跟B中間的新NODE就要刪除..所以是一次最多只有一個新的NODE...如果是移動到A放開.則是變成A的子NODE...

我是想用拖曳來完成停在同一層或是子層的區別與動作...但我拖曳到空格時.滑鼠會變成禁止放的圖形.設TreeCursor = crDefault也不行改變圖形.
想問前輩們
1.怎樣讓他圖形變成可以放
2.這樣拖曳來表示移到同層或子NODE可行嗎?還是有其他方法能取代?

請前輩們指點.
A
--A1
OOOOO 空格
B
--B1
C
--C1
D
--D1
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-15 09:42:32 IP:61.220.xxx.xxx 訂閱
這個問題我大概已經解決一大半了..
想請問一下...
如果拖曳中.滑鼠左鍵沒放.怎麼判斷同一層最後一個NODE?
我都是用insert去插入NODE.但移到最後一個NODE插入一個NODE會跑到整個TREE最上面.insert的父系node是用GetNext()...
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-15 17:51:05 IP:211.74.xxx.xxx 未訂閱
<textarea class="cpp" rows="10" cols="60" name="code">TNodeAttachMode AttachMode; if(Sourcenode->AbsoluteIndex < Targetnode->AbsoluteIndex)//下移 { if(Targetnode->GetNext()!=NULL && Targetnode->GetNext()->Level==Targetnode->Level) { Targetnode = Targetnode->GetNext(); AttachMode = naInsert; } else { AttachMode = naAdd; } } else //上移 { AttachMode = naInsert; } Sourcenode->MoveTo(Targetnode, AttachMode);//搬移 </textarea>

您參考看看
------
~§~迷時師渡,悟了自渡~§~
編輯記錄
harpist 重新編輯於 2007-05-15 17:52:39, 註解 無‧
harpist 重新編輯於 2007-05-15 18:39:17, 註解 程式縮排‧
harpist 重新編輯於 2007-05-15 23:21:29, 註解 縮排真不好改= =‧
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-16 14:37:28 IP:61.220.xxx.xxx 訂閱
harpist 大大
想再請問一個問題..

假設我NODE是縮起來的狀況..如下圖 Node1與Node2都是底下有子NODE..所以有個" "的符號..
Node3沒有子NODE..與NODE1.2都是同一層...
我的問題是..如何在NODE1的下面產生一個NODE..如圖二

圖一
___ Node1
|___ Node2
|____Node3


圖二
___ Node1
|___
|___ Node2
|____Node3
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-16 15:12:44 IP:211.74.xxx.xxx 未訂閱
<textarea class="cpp" rows="10" cols="60" name="code">TreeView->Items->Insert(Node2,"NewNode"); </textarea>



===================引 用 pireer 文 章===================
harpist?大大
想再請問一個問題..

假設我NODE是縮起來的狀況..如下圖? Node1與Node2都是底下有子NODE..所以有個" "的符號..
?Node3沒有子NODE..與NODE1.2都是同一層...
我的問題是..如何在NODE1的下面產生一個NODE..如圖二

圖一
?___ Node1
|___ Node2
|____Node3


圖二
?___ Node1
|___
|___ Node2
|____Node3
------
~§~迷時師渡,悟了自渡~§~
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-16 17:23:22 IP:61.220.xxx.xxx 訂閱
感謝大大的意見..我後來用InsertAfter()來完成動作了..
系統時間:2024-05-17 2:45:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!