推 fumizuki:何謂傳值 61.222.155.162 05/04
推 Jung2:就是怎麼按下"我"或"愛" 怎知我按下哪一個nodename 140.114.54.105 05/04
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [請益] VB 樹狀結構元件的傳值問題
時間: Wed May 4 09:36:44 2005
Private Sub TreeView1_Expand(ByVal Node As ComctlLib.Node)
MsgBox Node.Text
End Sub
你是要這個嗎?
--
VB 程式設計 倉木麻衣 PTT 星爺板 行列輸入法
======================================================
Visual_Basic MaiKuraki Stephen Array
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.155.162
> -------------------------------------------------------------------------- <
作者: Jung2 (我是孤傲的薔薇) 看板: Visual_Basic
標題: Re: [請益] VB 樹狀結構元件的傳值問題
時間: Wed May 4 20:34:38 2005
※ 引述《fumizuki (小獅)》之銘言:
: Private Sub TreeView1_Expand(ByVal Node As ComctlLib.Node)
: MsgBox Node.Text
: End Sub
: 你是要這個嗎?
我試過這個 好像可以傳出樹狀節點的字串
但是我不知道Expand是指什麼屬性?
可以怎麼利用阿?
若是我是要按下樹枝節點 並能傳出我按下節點的字串值
是不是要用
MsgBox Treeview1.SelectedItem
我想呈現的
就像Windows的檔案總管一樣 按下去不同的節點 另一個視窗會跟著改變
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.54.105
※ 編輯: Jung2 來自: 140.114.54.105 (05/04 20:35)
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [請益] VB 樹狀結構元件的傳值問題
時間: Wed May 4 22:07:08 2005
※ 引述《Jung2 (我是孤傲的薔薇)》之銘言:
: ※ 引述《fumizuki (小獅)》之銘言:
: : Private Sub TreeView1_Expand(ByVal Node As ComctlLib.Node)
: : MsgBox Node.Text
: : End Sub
: : 你是要這個嗎?
: 我試過這個 好像可以傳出樹狀節點的字串
: 但是我不知道Expand是指什麼屬性?
那不是屬性
是事件...
: 可以怎麼利用阿?
: 若是我是要按下樹枝節點 並能傳出我按下節點的字串值
: 是不是要用
: MsgBox Treeview1.SelectedItem
不是
: 我想呈現的
: 就像Windows的檔案總管一樣 按下去不同的節點 另一個視窗會跟著改變
看你要顯示的是什麼東西...
例如檔案總管
點下treeview會觸發expand事件
在expand事件中取得該目錄下所有檔案的列表,顯示在右邊控制項中(listview)
listview我不太會用,它還要指定圖示等一堆繁鎖的動作...
範例:(假設左邊擺treeview,右邊擺list)
Private Sub Form_Load()
Dim nodX As Node
Set nodX = TreeView1.Nodes.Add(, , "程式語言", "程式語言")
Set nodX = TreeView1.Nodes.Add("程式語言", tvwChild, "VB", "Visual Basic")
Set nodX = TreeView1.Nodes.Add("程式語言", tvwChild, "VC", "Visual C++")
End Sub
Private Sub TreeView1_Expand(ByVal Node As ComctlLib.Node)
If Node.Key = "程式語言" Then
List1.Clear
List1.AddItem "VB"
List1.AddItem "VC"
ElseIf Node.Key = "VB" Then
List1.Clear
List1.AddItem "屬性"
List1.AddItem "事件"
List1.AddItem "方法"
ElseIf Node.Key = "VC" Then
List1.Clear
List1.AddItem "屬性"
List1.AddItem "事件"
List1.AddItem "方法"
List1.AddItem "MFC"
End If
End Sub
除了透過 Key 來判斷展開的是哪一個項目外,亦可使用 FullPath 來判斷。
Expand 事件中傳回的 Node 物件即代表被點下的那一個項目 (TreeView1.SelectedItem)
也就是說
TreeView1.SelectedItem ≒ Node
TreeView1.SelectedItem.Key = Node.Key
但 Node 只能在 Expand 事件中使用。
--
VB 程式設計 倉木麻衣 PTT 星爺板 行列輸入法
======================================================
Visual_Basic MaiKuraki Stephen Array
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.58.156.43
推 Jung2:先謝 我先試一下 我是初學者 ^^ 140.114.211.12 05/06