Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 30.06.2022
Сообщений: 93

Как определить состояние сhecked у item, компонента sTreeView?

20.03.2025, 18:46. Показов 1386. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

Можно как-то определить состояние сhecked у item, компонента sTreeView?
Например если стоит галочка у одного из item, то выполнить действие.
Также сохраняю дерево в файл, при загрузке хотелось восстанавливать и состояние checked.

Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.03.2025, 18:46
Ответы с готовыми решениями:

[XE5] image как item в ListBox и подобных ему компонентах
Суть вопроса вот в чем: Мне нужен компонент на подобии listbox, но вместо строк (itemов) я хотел бы использовать картинки ( не большого...

Текст Header в элементе (Item) компонента ListView
Доброго времени суток!) Вопрос прост до безумия. В Item компонента ListView есть возможность вставить текст. Можно даже вставить...

Определить и передать выбор item на следующую форму
В общем, дела обстоят так: 1. есть две формы Form1 и Form2. 2. форма Form1 содержит ListBox1 и Button1, обработчик на клик кнопки: ...

9
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,680
20.03.2025, 20:28
Цитата Сообщение от DobryaKaktus Посмотреть сообщение
sTreeView
Это чо за компонент? Ты где его взял?
0
2 / 2 / 0
Регистрация: 30.06.2022
Сообщений: 93
20.03.2025, 21:02  [ТС]
AlphaControls
0
 Аватар для krapotkin
6849 / 4676 / 1464
Регистрация: 14.04.2014
Сообщений: 20,670
Записей в блоге: 21
20.03.2025, 21:02
любые компоненты нужно рисовать на основе каких-то данных

сохранять и загружать нужно эти данные
как хотите, так и грузите
базы, JSON, интернет

нажали что-то, измените данные
изменились данные - перерисуйте компонент
0
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,680
20.03.2025, 21:04
Цитата Сообщение от DobryaKaktus Посмотреть сообщение
AlphaControls
Они же платные. К ним нет документации?
0
2 / 2 / 0
Регистрация: 30.06.2022
Сообщений: 93
20.03.2025, 21:26  [ТС]
krapotkin, я понимаю что на основе данных это всё нужно делать, но художник я тот ещё.
Verevkin, конкретно на свой свой вопрос, пока ответа не нашёл в документации. Там demo и реализации методов по другим темам, если конечно я ничего не упустил.
0
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,680
20.03.2025, 22:25
Цитата Сообщение от DobryaKaktus Посмотреть сообщение
если конечно я ничего не упустил.
Тупо item.checked не прокатило?

Добавлено через 2 минуты
Цитата Сообщение от DobryaKaktus Посмотреть сообщение
конкретно на свой свой вопрос, пока ответа не нашёл в документации
Дай посмотреть.
0
2 / 2 / 0
Регистрация: 30.06.2022
Сообщений: 93
24.03.2025, 18:11  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Тупо item.checked не прокатило?
Не, такого свойства нет.
Решил вопрос ещё в тот день, не было возможности ответить, не работал форум??!

Проверить состояние и установить свойство можно следующими методами:
GetChecked, SetChecked с указанием TTreeNode.
0
Заблокирован
24.03.2025, 22:16
DobryaKaktus, Добавьте TImageList на форму, Заполните его двумя изображениями, Индекс 0 – пустой чекбокс, Индекс 1 – отмеченный чекбокс.
Привяжите ImageList к TreeView.StateImages.
1.Так проверить, отмечен ли элемент
Code
1
2
3
4
function IsNodeChecked(Node: TTreeNode): Boolean;
begin
  Result := (Node.StateIndex = 1); // 1 - чекбокс отмечен
end;
2.Так изменить состояние чекбокса по клику
Code
1
2
3
4
5
6
7
8
9
10
procedure TForm1.TreeView1Click(Sender: TObject);
begin
  if Assigned(TreeView1.Selected) then
  begin
    if TreeView1.Selected.StateIndex = 0 then
      TreeView1.Selected.StateIndex := 1 // Устанавливаем "галочку"
    else
      TreeView1.Selected.StateIndex := 0; // Снимаем "галочку"
  end;
end;
Так как у Вас возможно знания по древней как гомно мамонта версии Delphi - вот Вам вывод: В Delphi 7 нет Checked, но можно использовать StateIndex и TImageList
0
 Аватар для krapotkin
6849 / 4676 / 1464
Регистрация: 14.04.2014
Сообщений: 20,670
Записей в блоге: 21
24.03.2025, 22:19
тут речь не о TTreeView
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2025, 22:19
Помогаю со студенческими работами здесь

как изменить выбранный item в ComboBox'е
При выборе строки в DBGrid1 который подключен в таблице Студентов у меня на отдельном фрейме (включающий edit1,edit2, ComboBox1)заполняются...

Как в ComboBox каждый Item делать переменной
Доброго времени суток всем, у меня такой вопрос: как в ComboBox каждый Item делать переменной? тоесть у меня combobox, в нем 2 item,...

Как сделать вывод результатов работы цикла в List Item?
Допустим есть формула: х:= 100 - 10 В List Item надо вывести в таких два столбца : Шаг| Осталось от числа 1 __|___ 90 2...

как сделать кнопку недоступной если невыделен Item Listbox и наоборот
На форме есть ListBox и несколько кнопок Как сделать такое: Если невыделено ни одной строки ListBox, то одна конкретная кнопка...

CheckListBox: Как добавлять Item'ы сразу с отмеченным чекбоксом?
В CheckListBox добавляю Item CheckListBox1.Items.Add('Sergey'); "Sergey" добавляется, checkbox напротив находится в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru