|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Кто объяснит происходящее?
Помогите пожалуйста разобраться.
TreeView загружается из файла и сохраняется в файл. Вот код. procedure TForm1.N10Click(Sender: TObject); var k:TTreeNode; begin F := TFileStream.Create('C:\GLB\izd\TV.txt', fmOpenRead or fmShareDenyWrite); try F.ReadComponent(TreeView1); finally F.Free; end; TreeView1.Selected := GetNodeInPath(PChar(Edit1.Text+'\'+Edit2.Text), '\', TreeView1); k:=TreeView1.Selected; TreeView1.Items.AddChild(k,'ТЗ.dwg'); k.Expanded:=true; TreeView1.Selected := GetNodeInPath(PChar(Edit1.Text+'\'+Edit2.Text+'\ТЗ .dwg'), '\', TreeView1); TreeView1.Selected.ImageIndex:=1; F := TFileStream.Create('C:\GLB\izd\TV.txt', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; end; Когда файл загружается запись как и положено имеет иконку ImageIndex:=1, но если эту запись выделить появляется иконка с ImageIndex:=0. При снятии выделения иконка снова меняется наImageIndex:=1. Объясните пожалуйста почему это происходит и как сделать, чтобы иконка не менялась при выделении. И еще один вопрос: как можно полностью свернуть TreeView? Последний раз редактировалось Vit, 21.01.2008 в 08:55. |
#2
|
||||
|
||||
Сам нашел вариант, может несколько корявый, но вполне рабочий.
procedure TForm1.N10Click(Sender: TObject); var k:TTreeNode; begin if TreeView1.Visible=true then TreeView1.Visible:=false; F := TFileStream.Create('C:\GLB\izd\TV.txt', fmOpenRead or fmShareDenyWrite); try F.ReadComponent(TreeView1); finally F.Free; end; TreeView1.Visible:=true; TreeView1.Selected := GetNodeInPath(PChar(DBEdit1.Text+'\'+DBEdit2.Text) , '\', TreeView1); k:=TreeView1.Selected; TreeView1.Items.AddChild(k,'ТЗ.dwg'); k.Expanded:=true; TreeView1.Selected := GetNodeInPath(PChar(DBEdit1.Text+'\'+DBEdit2.Text+ '\ТЗ.dwg'), '\', TreeView1); TreeView1.Selected.SelectedIndex:=1; Button2.Click; F := TFileStream.Create('C:\GLB\izd\TV.txt', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; TreeView1.Visible:=false; TreeView1.Visible:=true; end; procedure TForm1.Button2Click(Sender: TObject); begin if TreeView1.Selected.SelectedIndex=1 then TreeView1.Selected.ImageIndex:=1; end; end. |