全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1648
推到 Plurk!
推到 Facebook!

TreeView 定位的問題?

尚未結案
thomas0728
中階會員


發表:112
回覆:260
積分:89
註冊:2002-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-15 17:37:49 IP:61.70.xxx.xxx 未訂閱
各位大大:     我有一個 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-15 22:29:41 IP:211.76.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-15 22:55:47 IP:218.32.xxx.xxx 未訂閱
thomas0728 你好: 我的習慣是用, TTreeNode 的 ItemID Property, 搭配 TTreeNodes.GetNode Method, 然後將該找到的 TreeNode.Selected := True. 參考看看.
thomas0728
中階會員


發表:112
回覆:260
積分:89
註冊:2002-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-16 00:01:59 IP:61.70.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-16 00:18:05 IP:61.70.xxx.xxx 未訂閱
另外我發現
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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-16 22:08:01 IP:218.32.xxx.xxx 未訂閱
引言: Mickey妳好: 奇怪,我將程序傳回值宣告成 HTREEITEM ,編輯器告訴我 HTREEITEM 沒定義 我用 HELP 找,也沒有,不知 HTREEITEM 宣告在那
Result:=tmpNode2.ItemId;    function TMaterielCodeBill.LoadNodes(parID, BaseID, fullname,userCode: string):HTREEITEM;
                           ~~~沒定義 
如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
在 CommCtrl.pas 中....
thomas0728
中階會員


發表:112
回覆:260
積分:89
註冊:2002-03-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-17 11:25:32 IP:61.70.xxx.xxx 未訂閱
Mickey老大 可以展開了,但很奇怪的是他並不會被選取,只是展開而已,我該在下 [code InfoTreeView.Items.GetNode(tmpNode2.ItemId).Focused:=True; [/code] 但好像沒作用 如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
------
Thomas Chiou
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-08-17 22:53:03 IP:218.32.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-08-17 23:48:16 IP:211.75.xxx.xxx 未訂閱
可以了,大感謝了 讚Y 如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
------
Thomas Chiou
系統時間:2024-05-17 17:07:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!