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

Treeview如何各別指定Imageindex,selectindex,ststeindex

答題得分者是:deity
ringox
一般會員


發表:7
回覆:14
積分:4
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-07 08:17:23 IP:61.30.xxx.xxx 未訂閱
我想要treeview顯示選單並且用資料庫來判斷選單的顯示內容 但是我的Imageindex,selectindex,ststeindexu一直無法正確的顯示 都出現Imageindex,selectindex,ststeindex=0的圖示不知道該如何做處理 因為一直搜尋不到相關的解決方式所以只好請各位幫個忙以下是我的程式碼    var Nur,BCount:Integer;     ID:String; begin   DM.TBut.First;     for BCount := 0 to DM.TBut.RecordCount-1 do       begin         if not DM.TBut.Eof then           begin   if DM.But_Sel.Value=True then   begin    ID := DM.But_ID.Value;    for Nur := 10 to 90 do      begin       if FindComponent('B'+Inttostr(Nur)) <> nil then        if ID='B'+Inttostr(Nur) then         begin           if not(Nur = 89)then           TreeMenu.Items.AddChild(TreeMenu.Items.Item[0],DM.But_Say.Value);           <在此處我該如何做處理> end; end; end; DM.TBut.Next; end; end; 發表人 - Ringox 於 2004/02/07 08:21:23 發表人 - Ringox 於 2004/02/07 08:22:17
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-07 08:35:13 IP:210.65.xxx.xxx 未訂閱
Hi:    
var 
    Nur,BCount:Integer;
    ID:String;
    MyTreeNode: TTreeNode;
begin
    DM.TBut.First;
    for BCount := 0 to DM.TBut.RecordCount-1 do
        begin
            if not DM.TBut.Eof then
                begin
                    if DM.But_Sel.Value=True then
                        begin
                            ID := DM.But_ID.Value;
                            for Nur := 10 to 90 do
                                begin
                                    if FindComponent('B' Inttostr(Nur)) <> nil then
                                        if ID='B' Inttostr(Nur) then
                                            begin
                                                if not(Nur = 89)then
                                                    begin
                                                        MyTreeNode := TreeMenu.Items.AddChild(TreeMenu.Items.Item[0],DM.But_Say.Value);
                                                        MyTreeNode.ImageIndex := xxx;
                                                        MyTreeNode.SelectedIndex := xxx;
                                                        MyTreeNode.StateIndex := xxx;
                                                    end;
                                            end;
                                end;
                        end;
                end;
            DM.TBut.Next;
        end;
end;
-------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-07 09:02:13 IP:218.15.xxx.xxx 未訂閱
您好: 首先您得指定TreeView的images=ImageList1 然后对照下面各属性自行设计: ImageIndex属性指示在树视图的相关图像列表中哪一幅图像将出现在树节点的标题旁。 SelectIndex属性是指当节点被选中时所使用图像的索引。 stateIndex属性确定将哪一幅图像用于树节点。 相关有法可参照: Treeview1.images:=ImageList1; TreeView1.items[n].selectedindex:=0;《——哪一幅图 ——行径窄处,留一步与人行——
ringox
一般會員


發表:7
回覆:14
積分:4
註冊:2003-04-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-07 09:54:42 IP:61.30.xxx.xxx 未訂閱
引言: 您好: 首先您得指定TreeView的images=ImageList1 然后对照下面各属性自行设计: ImageIndex属性指示在树视图的相关图像列表中哪一幅图像将出现在树节点的标题旁。 SelectIndex属性是指当节点被选中时所使用图像的索引。 stateIndex属性确定将哪一幅图像用于树节点。 相关有法可参照: Treeview1.images:=ImageList1; TreeView1.items[n].selectedindex:=0;《——哪一幅图 ——行径窄处,留一步与人行——
首先多謝兩位如此快速的回覆 我的程序是放在Creat所以出現access的錯誤訊息 不知到我該更該於何處比較好 deity因為我的資料庫中要跑10 to 90的情形如果依你說的方式 會出現很長程式碼的情況所以不知道有其他的方法可行嗎?
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-07 10:24:02 IP:218.15.xxx.xxx 未訂閱
ringox 您好: deity因為我的資料庫中要跑10 to 90的情形如果依你說的方式 會出現很長程式碼的情況所以不知道有其他的方法可行嗎? ========================================================================================您不是有用到数据集吗?  var Nur,BCount:Integer; ID:String; begin TreeMenu.images:=ImageList1; DM.TBut.First; for BCount := 0 to DM.TBut.RecordCount-1 do begin if not DM.TBut.Eof then begin if DM.But_Sel.Value=True then begin ID := DM.But_ID.Value; for Nur := 10 to 90 do begin if FindComponent('B' Inttostr(Nur)) <> nil then if ID='B' Inttostr(Nur) then begin if not(Nur = 89)then TreeMenu.Items.AddChild(TreeMenu.Items.Item[0],DM.But_Say.Value); TreeMenu.items[Nur].imageindex:=0; TreeMenu.items[Nur].selectedindex:=1; TreeMenu.items[Nur].ststeindex:=-1; 可根据您的需要自行调整,0,1……表示imageList1图像的顺序。 end; end; end; DM.TBut.Next; end; end; 我的程序是放在Creat所以出現access的錯誤訊息 不知到我該更該於何處比較好 ========================================================================================您可否说得详细点,有什么错误提示,也好让大家解答。 ——行径窄处,留一步与人行—— 發表人 - deity 於 2004/02/07 10:27:14
ringox
一般會員


發表:7
回覆:14
積分:4
註冊:2003-04-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-07 10:32:57 IP:61.30.xxx.xxx 未訂閱
引言: ringox 您好: deity因為我的資料庫中要跑10 to 90的情形如果依你說的方式 會出現很長程式碼的情況所以不知道有其他的方法可行嗎? ======================================================================您不是有用到数据集吗? 我的程序是放在Creat所以出現access的錯誤訊息 不知到我該更該於何處比較好 ======================================================================您可否说得详细点,有什么错误提示,也好让大家解答。 ——行径窄处,留一步与人行——
抱歉我說的不是很清楚 我所指的access的錯誤訊息式執行程序中原件變動所產生的錯誤如下 我有搜尋過文章所以有看過類似的問題不過沒有解答 但是我的程序必須要放在Creat所以...
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-02-07 10:36:24 IP:210.65.xxx.xxx 未訂閱
Hi:    關於 TreeView 的控制,於前一陣子稍微整理了一下,本來還有一些功能尚未測試完成,但已先行發表,供你參考下載位置如下,希望對你有幫助    
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44484
-------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
ringox
一般會員


發表:7
回覆:14
積分:4
註冊:2003-04-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-02-07 10:56:14 IP:61.30.xxx.xxx 未訂閱
引言: Hi: 關於 TreeView 的控制,於前一陣子稍微整理了一下,本來還有一些功能尚未測試完成,但已先行發表,供你參考下載位置如下,希望對你有幫助
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44484
-------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 -------------------------------- < face="Verdana, Arial, Helvetica"> 抱歉請問您所使用delphi的版本是幾版的是D6嗎 因為開不起來也許是我用D5或是你有安裝別的元件 方便的話請Run一個執行檔給我好嗎
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-02-07 10:59:52 IP:218.15.xxx.xxx 未訂閱
补充下: for i:=0 to TreeMenu.Items.Count-1 do  TreeMenu.items[i].imageindex:=0; TreeMenu.items[i].selectedindex:=1; TreeMenu.items[i].ststeindex:=-1; 可根据您的需要自行调整,0,1……表示imageList1图像的顺序。 i自己定义一个变量; ====================================== 也找了个相关treeview的实例,增加节点,删除节点,设置图像等,您可以去看看,看下对您有什么帮助 http://delphi.about.com/gi/dynamic/offsite.htm?site=http%3A%2F%2Fusers.iafrica.com%2Fd%2Fda%2Fdart%2Fzen%2FArticles%2FTTreeView%2FTreeView.html ====================================== 插上一句: 在这里我看到了Fishman大大的热心与实力,着实让佩服。 ——行径窄处,留一步与人行——
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-02-07 11:28:53 IP:210.65.xxx.xxx 未訂閱
Hi    Ringox,  
引言:抱歉請問您所使用delphi的版本是幾版的是D6嗎 因為開不起來也許是我用D5或是你有安裝別的元件
我用的是 D7,沒有另外安裝其它元件,因網路資源有限,我已將 exe 刪除 -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
ringox
一般會員


發表:7
回覆:14
積分:4
註冊:2003-04-09

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-02-11 00:38:03 IP:61.30.xxx.xxx 未訂閱
參考過deity與Fishman兩位的資料後已經解決我的問題了 以下是我依照的deity方式所更改的如有更好的方式請指教 case Nur of 61..69, 71..79: begin MyNode := TreeMenu.Items.AddChild(TreeMenu.Items.Item[0],DM.But_Say.Value); MyNode.ImageIndex := Strtoint(DM.But_Pic.Value); MyNode.SelectedIndex :=61; end;
系統時間:2024-07-01 6:34:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!