TreeView İtems resimleri değişmesi neden olur.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

TreeView İtems resimleri değişmesi neden olur.

Mesaj gönderen vedatkaba »

S.A.

Arkadaşlar...

Treeview de itemsleri ekliyorum, her items için resimleri ekliyorum buraya kadar sorun yok. Ama itemslerin üzerine fareyle tıklayınca resmi ilk itemsin resmi olarak değişmekte.nedenini anlayamadım.Resimleri imagelist kontrolünden atıyorum

Kod: Tümünü seç

procedure TForm1.ekleitem;
var
nodev:TTreeNode;
begin
nodev:=Form2.TreeView1.Items.Add(nil,'Veritabanı');
for i:=1 to 9 do
begin
dizim[i]:=nodeler[i];
end;
for i:=1 to 9 do
begin
form2.TreeView1.Items.Addchild(nodev,dizim[i]);
form2.TreeView1.Items.Item[i].ImageIndex:=i;
end;
Bu şekilde hem itemslerimi hem resimlerimi bir kerede ekliyorum.itemsler diziye yuklu string elemanlar.

Böyle Bir problem neden olur ?.İlgilenenlere şimdiden teşekkür ederim.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
sanırım stateimages diye bir özelliği olması lazım.
onu biraz kurcala.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Hocam stateimages in nesini kurcalıycam anlamadım.Normalde stateimages özlliğinde boş.Artı bir sorun daha çıktı yukarıda verdiğim mfonksiyonla ikinci defa ekleme yaptığım zaman ise bütün itemslere aynı resmi yani 0 index nolu resmi atıyor.Ne yapacaz ya kafayı yiycem.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba ,
bir projemde DB yi , Ana-Detay-Detay şeklinde Treeview e geçirmek için kullandığım kod bloğunu aynen gönderiyorum fikir vercektir.

Kod: Tümünü seç

procedure Tcari_kart.FillTreeview;
var
TNDChild,TRN:TTreeNode;
begin
               rxBrans.first;
     while not rxBrans.eof do
      begin
        TNDChild:=TreeView1.items.AddChild(nil,rxBransbransadi.AsString);
        TNDChild.ImageIndex:=0;
        TNDChild.StateIndex:=0;
                   rxPoliceturu.first;
         while not rxPoliceturu.eof do
           begin
             if rxPoliceturubrans_kodu.AsString=rxBransbranskodu.AsString then
                   begin
                   TRN:=TreeView1.Items.AddChild(TNDChild,rxPoliceturupol_turu.AsString);
                   TRN.ImageIndex:=2;
                   TRN.StateIndex:=2;
                               rxPoliceyeTeminat.first;
                     while not rxPoliceyeTeminat.Eof do
                      begin
                        if rxPoliceyeTeminatpol_kodu.AsString=rxPoliceturupol_kodu.AsString then
                        TreeView1.items.addChild(TRN,rxPoliceyeTeminattem_adi.AsString);
                        TRN.ImageIndex:=2;
                        TRN.StateIndex:=2;
                        TRN.SelectedIndex:=2;
                        rxPoliceyeTeminat.next;
                      end;
                   end;
             rxPoliceturu.Next;
           end;
       rxBrans.next;
      end;
end;
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

procedure TForm1.ekleitem;
var
i,k:integer;
nodev:TTreeNode;
begin
nodev:=Form2.TreeView1.Items.Add(nil,opendialog1.FileName);
for i:=1 to 9 do
begin
form2.TreeView1.Items.AddChild(nodev,dizim[i]);
end;
for k:=0 to form2.TreeView1.Items.Count-1 do
begin
form2.TreeView1.Items.Item[k].ImageIndex:=k;
form2.TreeView1.Items.Item[k].StateIndex:=k;
end;
end;
end.
Bu şekilde yaptım ama yine olmadı ne hikmetse.Sorun başka ne olabilir anlayamadım hocam.Halen daha aynı sorun.ebeveyn itemsin resmi bütün childitemslerdeki resimlerin yerini alıyor diğerini seçincede eski haline geliyor.ne biçim bir iş anlamadım.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Cevapla