Merhaba,
Item index ile selectedindex'i birbirine karıştırıyorsunuz. SelectedIndex özelliği, item seçiliykenki icon numarasını belirtmek için kullanılır. Örneğin explorer'daki gibi normalde item'ın kapalı klasör ikonu vardır. Üzerine tıklanıdığınızda açık klasör ikonu olur. Bunun gibi normal durumdayken ki icon numarasını ImageIndex ile, seçiliykenki iconu içinde SelectedIndex kullanılır. Sizin örneğinizdeki;
TreeView1.Items[5].Enabled:=False;
kodunun text'i "e" olan item'ı disable yapması, yukarıdan aşağı doğru sayarsanız (A:0, a:1, b:2.., e:5) itemindex'inin 5 olmasından kaynaklanıyor. Yani SelectedIndex ile alakası yok.
Eğer ille de ben bu SelectedIndex'i kullanacağım diyorsan ancak aşağıdaki gibi arama yöntemi ile item'a erişebilirsin.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
for i := 0 to TreeView1.Items.Count - 1 do
if TreeView1.Items[i].SelectedIndex = 45 then
begin
TreeView1.Items[i].Enabled := False;
Break;
end;
end;