Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 8
Всего онлайн: 8
Зарегистрировано юзеров: 7941
Комментариев на сайте: 698
Новый юзер: Robertimifs



Последние комментарии
c
Dennisvoifs прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Пункт коммерческого учета цена, Ктп комплектные трансформаторные подстанции москва, Производство ктп москва и не только Вы найдете на нашем специализированном сайте: - Вам к нам!https://sviloguzov.ru/
Arthurneime прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[img]https://masterfutures.ru/wp-content/uploads/2020/03/14-2.png[/img] Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Broker Broker is operated by a dedicated team, whose main priority has always been to provide the best possible user experience, and ultimately satisfaction. Whether experienced in trading or a newcomer, the platform is easy to use and very responsive. The education section deserves special mention, particularly for assisting traders to learn and implement new strategies – which can be tested on the platforms free demo Source: [url=https://bit.ly/35fv3B6/]Broker[/url] https://bit.ly/35fv3B6/ Tags: Broker

Урок 18 - Знакомство с компонентами (часть 9/12)

  В этом уроке мы продолжаем изучать вкладку Win32.
  В этот раз мы будем рассматривать компонент под названием TreeView. Мы научимся добавлять, удалять, изменять и сортировать.

   Этот компонент предназначен для отображения сложной иерархической структуры данных. Например в левой области проводника Windows используется этот компонент для быстрой навигации по папкам.

   И так перейдём к делу, на понадобятся компоненты: 1 TTreeView, 4 TButton, 1 TLabel и TEdit. У первой Caption давайте сделаем "Добавить", у второй "Удалить", третьей "Добавить потомка" и для четвертой "Изменить". Разместите все компоненты вот так:

Расположение компонентов


   Как и у ListView, у этого компонента есть собственный редактор строк. Вызовем его кликнув по свойству Items в Object Inspetor. Появилось вот такое окно:

TreeView Items Editor


   Оно похоже на то, что использовалось в ListView, за исключением лишь одной функции, TreeView обладает функцией загрузки/сохранения текущей информации и соответственно добавилась одна кнопка "Load". Добавляем новый Item и Text у него "Программы", добавим еще один с текстом "Игры", и "Картинки", в последний добавим потомка, клик по "New SubItem" с текстом "Фото". Скомпилируем и посмотрим что получилось. Нажав на плюсик находящийся перед "Картинки", разворачивается список и в нем наш потомок, а "Картинки" это родитель.

TreeView


   Теперь приступим к добавлению строк. Как и в прошлом уроке нам понадобится текущий выделенный Item. Создадим 2 глобальных переменных t:integer и MyNode:TTreesNode ну и обработчик события TreeView, OnChange:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
MyNode:=Node;
t:=Node.AbsoluteIndex;
Label1.Caption:= IntToStr(t);
end;
   Проверим... Обратите внимание, казалось бы потомок должен иметь индекс 2.1, но это не так, в TreeView в каком порядке развернуты потомки такие они имеют индексы, то есть в нашем случае потомок "Фото" имеет индекс 3. MyNode здесь нужна для того чтоб узнать какой родительский Item сейчас выделен.

   Ну а теперь можно и добавить. Вытащим TEdit, чтоб можно было задавать имя нового элемента.

   Создадим обработчик события Button1, OnClick:
procedure TForm1.Button1Click(Sender: TObject);
begin
TreeView1.Items.Add(MyNode, Edit1.Text);
end;
   Ну и сразу же добавим потомка. Создадим обработчик события Button2, OnClick:
procedure TForm1.Button2Click(Sender: TObject);
begin
TreeView1.Items.AddChild(MyNode, Edit1.Text);
end;
   Научимся удалять. Создадим обработчик события Button3, OnClick:
procedure TForm1.Button3Click(Sender: TObject);
begin
TreeView1.Items.Item[t].Delete;
end;
   Изменим элемент. Создадим обработчик события Button4, OnClick:
procedure TForm1.Butto4Click(Sender: TObject);
begin
TreeView1.Items.Item[t].Text:=Edit1.Text;
end;
   Теперь мы можем полноценно редактировать содержимое компонента, но не хватает сортировки. Сортировка управляется свойством SortType, установим сортировку по алфавиту: stText

   Ну вот и все, вот что у нас получилось:

Результат


   В следующем уроке мы начнём изучение компонентов с вкладки System, первым компонентом будет TTimer.

Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 28 Марта 2013
Просмотров: 18051

Урок 17 - Знакомство с компонентами (часть 8/12) Урок 19 - Знакомство с компонентами (часть 10/12)

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): pukkup74 [Новичок] Дата: 2013-11-01
Не TTreesNode,а TTreeNode




аватар Добавил(а): _Bes_ [Новичок] Дата: 2014-03-13
Здесь начиная с первой кнопки компилятор не пропускает. procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; Label1.Caption:=IntToStr(t); end; procedure TForm1.Button1Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.Add(MyNode, Edit1.Text); end; procedure TForm1.Button3Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.AddChild(MyNode, Edit1.Text); end; procedure TForm1.Button2Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.Item[t].Delete; end; procedure TForm1.Button4Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.Item[t].Text:=Edit1.Text; end; end. ужу всё перепробовал!!!




аватар Добавил(а): anast-96m@mail.ru [Новичок] Дата: 2015-04-25




аватар Добавил(а): evgen_2017 [Новичок] Дата: 2017-10-26
Добавил(а): _Bes_ [Новичок] Дата: 2014-03-13 Здесь начиная с первой кнопки компилятор не пропускает. procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; Label1.Caption:=IntToStr(t); end; procedure TForm1.Button1Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.Add(MyNode, Edit1.Text); end; procedure TForm1.Button3Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.AddChild(MyNode, Edit1.Text); end; procedure TForm1.Button2Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.Item[t].Delete; end; procedure TForm1.Button4Click(Sender: TObject); var t:Integer; MyNode:TTreeNode; begin MyNode:=Node; t:=Node.AbsoluteIndex; TreeView1.Items.Item[t].Text:=Edit1.Text; end; end. ужу всё перепробовал!!! Зачем ты в каждой процедуре обьявляешь t:integer mynode:treenode. если ты обьявил уже их там где глобальные переменные,в шапке кода? и на кой хер ты присваиваешь в каждой процедуре им значения? просто делай всё так как написано в уроке,все получится.




аватар Добавил(а): EleoPhync [Новичок] Дата: 2020-04-24
Viagra Pas De La Case [url=https://buyciallisonline.com/#]Buy Cialis[/url] Kamagra Jelly Usa <a href=https://buyciallisonline.com/#>Buy Cialis</a> Acquistare Cialis Tadalafil