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

如何得知我拖曳到TreeView上的那一個項目呢?

答題得分者是:ha0009
lcc1299
一般會員


發表:39
回覆:42
積分:21
註冊:2004-09-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-16 15:28:02 IP:211.78.xxx.xxx 未訂閱
各位大大請問一下: 如果我在一個TreeView上建立了三個父選項,並給他stateindex分別為1、2、3,然後我在一個listbox拉一串字過去,並且在TreeView上的三個父選項上其中一個放下(Drop),要怎樣才能得到,我是在那一個父選項上放下的嗎?就是他會show出,放下的那個的stateindex。 ps:我測試的結果會發生,我mouse先在treeview上的父項1點一下,然後拉過去後,會得到stateindex為1的結果,但如果我拉過去放開的是在第3個父項,還是會得到1的結果,因為他認為我mouse一開始點的是1那個位置,所以我怎麼拉都會顯示1。(因該是我邏輯上的問題:TreeView1.Selected.StateIndex),因為我在treeview上的焦點是父項1,所以都會傳回1,但有什麼方法,可以得到我上面那個問題的答案嗎?~~~~謝謝。
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-16 16:42:53 IP:219.80.xxx.xxx 未訂閱
你好:
  將下列兩段程式設定給 TreeLiew 的 OnDragOver 與 OnDragDrop 既可,試試吧。    procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
var
  Node : TTreeNode;
begin
  Node := TreeView1.GetNodeAt(x, y);
  Accept :=  Node <> nil;      // 加上這段則一定要是 Root 才可以接受,如果要開放全部則註解既可
  if Accept then Accept := Node.Parent = nil
end;    procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  TreeView1.Items.AddChild(TreeView1.GetNodeAt(x, y), (Source As TListBox).Items.Strings [(Source As TListBox).ItemIndex])
end;
lcc1299
一般會員


發表:39
回覆:42
積分:21
註冊:2004-09-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-16 18:16:23 IP:211.78.xxx.xxx 未訂閱
ha0009謝謝你的回答,這方法也很棒,可以加資料進去ya~~,但是我沒有要把拉進去的文字給填進去,我只想知道我mouse放開時,他回傳我在那一項上放開,傳回那一項的stateindex 就好了^__^"!
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-16 18:45:53 IP:219.80.xxx.xxx 未訂閱
你好:
  我以為這個範例可以讓你不只獲的你想要的東西,
一個好的程式設計師應該可以舉一反三,你何不試試在
 Mouse 的幾個事件中想想辦法呢
    < src="http://sourceprovide.deepen.com.tw/K_Top/bp.gif">
        
lcc1299
一般會員


發表:39
回覆:42
積分:21
註冊:2004-09-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-16 20:02:50 IP:210.68.xxx.xxx 未訂閱
謝謝大家~~~原來在DropTarget事件裡<==老師給我的答案啦@@"!,感謝感謝
系統時間:2024-06-26 16:54:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!