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

請教一個有關TTreeView的簡單問題.

答題得分者是:RaynorPao
blowfish
一般會員


發表:8
回覆:35
積分:18
註冊:2002-12-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-04 22:02:40 IP:203.73.xxx.xxx 未訂閱
最近在用TTreeView上,又遇到一個令我感到不解的地方.    在BCB Help中,看到TTreeView property -- Items的說明中,有一段這樣的說明: For example,to access the second item in the tree view, you could use the following code. MyTreeNode = TreeView1->Items[1]; 於是我照他的說做去寫一個小程式來試試看, 如下:
  TTreeNode *tmpNode;
  tmpNode = TreeView1->Items[2];  
  ShowMessage(tmpNode->Text);
結果在compile時,出現了這樣的錯誤訊息: Cannot convert 'TTreeNodes to TTreeNode *' 怪了,為什麼會這樣呢? 要用TreeView1->Items->Item[2] or TreeView1->Items->operator [](2)這樣才可以. TTreeNodes不是已經有定義operator '[]'了嗎?應該是可以直接用Items[2]吧? 為什麼我那樣用不可以,實在是不懂,也被搞糊塗了... 能不能請高手們替我解惑一下.謝謝! === Study, Study and Study ===
------
=== Study, Study and Study ===
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-07 08:54:25 IP:203.73.xxx.xxx 未訂閱
引言: 最近在用TTreeView上,又遇到一個令我感到不解的地方. 在BCB Help中,看到TTreeView property -- Items的說明中,有一段這樣的說明: For example,to access the second item in the tree view, you could use the following code. MyTreeNode = TreeView1->Items[1]; 於是我照他的說做去寫一個小程式來試試看, 如下:
  TTreeNode *tmpNode;
  tmpNode = TreeView1->Items[2];  
  ShowMessage(tmpNode->Text);
結果在compile時,出現了這樣的錯誤訊息: Cannot convert 'TTreeNodes to TTreeNode *' 怪了,為什麼會這樣呢? 要用TreeView1->Items->Item[2] or TreeView1->Items->operator [](2)這樣才可以. TTreeNodes不是已經有定義operator '[]'了嗎?應該是可以直接用Items[2]吧? 為什麼我那樣用不可以,實在是不懂,也被搞糊塗了... 能不能請高手們替我解惑一下.謝謝!
TreeView1->Items is a pointer to a TTreeNodes object, so TreeView1->Items[2] is a TTreeNodes object. In this case it's not a valid object, because TreeView->Items does not point to an array element. --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
blowfish
一般會員


發表:8
回覆:35
積分:18
註冊:2002-12-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-07 10:01:31 IP:203.70.xxx.xxx 未訂閱
引言: TreeView1->Items is a pointer to a TTreeNodes object, so TreeView1->Items[2] is a TTreeNodes object. In this case it's not a valid object, because TreeView->Items does not point to an array element.
謝謝Raynor的回答. 你說明的部份,我已經了解了. 但是還有一個地方,我不懂的,就是為什麼我用這樣的方式TreeView1->Items->operator [](2) 也可以取出,第三個node?? 就跟用TreeView1->Items->item[2]取出來的內容一樣? 這個是我最不懂的地方... ===
------
=== Study, Study and Study ===
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-07 10:13:37 IP:203.73.xxx.xxx 未訂閱
引言: 但是還有一個地方,我不懂的,就是為什麼我用這樣的方式TreeView1->Items->operator [](2) 也可以取出,第三個node?? 就跟用TreeView1->Items->item[2]取出來的內容一樣? 這個是我最不懂的地方... < face="Verdana, Arial, Helvetica"> blowfish 你好: 以下的內容轉貼自 BCB 6.0 Help <>> >{ >
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
blowfish
一般會員


發表:8
回覆:35
積分:18
註冊:2002-12-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-07 11:01:51 IP:203.70.xxx.xxx 未訂閱
引言: 以下的內容轉貼自 BCB 6.0 Help <>> >{ > >< face="Verdana, Arial, Helvetica"> 抱歉...同樣的help我也有看過,可是看的不夠仔細... 我想我應該懂了,那就是我可以像用二維陣列, <>>> 來取出> ===
------
=== Study, Study and Study ===
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-07 11:12:05 IP:203.73.xxx.xxx 未訂閱
引言: 我想我應該懂了,那就是我可以像用二維陣列, TreeView1->Items[0][2] 來取出node,是嗎? 是不是代表一個TTreeView,可以包含很多TTreeNodes呢? [/green]
blowfish 你好: 我試過了你寫的方式~~的確可以正確執行喔< > 因此~~理論上應該是醬子沒有錯< > 不過~~我在想喔~~什麼時候會有以下這種情況呢 >>>][
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-04-20 12:06:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!