TreeView 定位的問題? |
尚未結案
|
thomas0728
中階會員 發表:112 回覆:260 積分:89 註冊:2002-03-12 發送簡訊給我 |
各位大大:
我有一個 TcfTreeView 的元,是 Express 的元件之一,但我想和 delphi
本身提供的 TreeView 的用法應該差不多,以下為程式碼,因為我想在產生完 所有的 Node 之後定位在某一個 Node 之上
tmpNode := InfoTreeView.Items.GetFirstNode; while tmpNode <> nil do begin if (tmpNode.StringData=parID) then begin tmpNode2:=InfoTreeView.Items.AddChild(tmpNode,fullName); tmpNode2.StringData:=BaseID; tmpNode2.StringData2:=UserCode; tmpNode2.ImageIndex:=3; tmpNode2.SelectedIndex:=6; finded:=true; IF USERCODE='AAA' then tmpNode3:=tmpNode2; end; tmpNode := tmpNode.GetNext; end; InfoTreeView.Selected.GetNextChild(tmpNode3).Selected:=True; ~~~~這行會出現存取錯誤的訊息,這樣用不對嗎不知有那位大大知道如何使用,我試了好久,一直沒辦法 謝謝 如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
------
Thomas Chiou |
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
thomas0728 您好: 有沒有可能是您參考到不存在的節點?
引言:InfoTreeView.Selected.GetNextChild(tmpNode3).Selected:=True; ~~~~這行會出現存取錯誤的訊息,這樣用不對嗎先確認再設值。希望能幫上忙! < class="code"> if ( InfoTreeView.Selected.GetNextChild(tmpNode3))<>nil ) then InfoTreeView.Selected.GetNextChild(tmpNode3).Selected:=True; RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====##### |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
thomas0728
中階會員 發表:112 回覆:260 積分:89 註冊:2002-03-12 發送簡訊給我 |
Mickey妳好: 奇怪,我將程序傳回值宣告成 HTREEITEM ,編輯器告訴我 HTREEITEM 沒定義
我用 HELP 找,也沒有,不知 HTREEITEM 宣告在那
Result:=tmpNode2.ItemId; function TMaterielCodeBill.LoadNodes(parID, BaseID, fullname,userCode: string):HTREEITEM; ~~~沒定義如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
------
Thomas Chiou |
thomas0728
中階會員 發表:112 回覆:260 積分:89 註冊:2002-03-12 發送簡訊給我 |
另外我發現
tmpNode := InfoTreeView.Items.GetFirstNode; while tmpNode <> nil do begin if (tmpNode.StringData=parID) then begin tmpNode2:=InfoTreeView.Items.AddChild(tmpNode,fullName); tmpNode2.StringData:=BaseID; tmpNode2.StringData2:=UserCode; tmpNode2.ImageIndex:=3; tmpNode2.SelectedIndex:=6; finded:=true; result:=1; if (tmpNode2)<>nil then BEGIN SHOWMESSAGE(UserCode);//<----這行不會有問題,表tmpNode2 沒問題,但下面一行却會取存錯誤,真是奇怪 InfoTreeView.Selected.GetNextChild(tmpNode2).Selected:=True; END; // Result:=tmpNode2.ItemId; end; tmpNode := tmpNode.GetNext; end;如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
------
Thomas Chiou |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
引言: Mickey妳好: 奇怪,我將程序傳回值宣告成 HTREEITEM ,編輯器告訴我 HTREEITEM 沒定義 我用 HELP 找,也沒有,不知 HTREEITEM 宣告在那在 CommCtrl.pas 中....Result:=tmpNode2.ItemId; function TMaterielCodeBill.LoadNodes(parID, BaseID, fullname,userCode: string):HTREEITEM; ~~~沒定義如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou |
thomas0728
中階會員 發表:112 回覆:260 積分:89 註冊:2002-03-12 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
引言: Mickey老大 可以展開了,但很奇怪的是他並不會被選取,只是展開而已,我該在下試試看InfoTreeView.Items.GetNode(tmpNode2.ItemId).Focused:=True;但好像沒作用 if InfoTreeView.Items.GetNode(tmpNode2.ItemId)<>nil then begin InfoTreeView.Items.GetNode(tmpNode2.ItemId).Selected := True; InfoTreeView.SetFocus; end;發表人 - Mickey 於 2004/08/17 22:54:50 |
thomas0728
中階會員 發表:112 回覆:260 積分:89 註冊:2002-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |