Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TreeView и CheckBox / 25 сообщений из 28, страница 1 из 2
16.02.2009, 12:22
    #35819302
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Добрый день.
У меня такой вопрос, Можно ли как нибудь в Delphi 6, в контрол TTreeView добавить CheckBox? А также как потом прочитать эти значения?
Заранее благодарю.
...
Рейтинг: 0 / 0
16.02.2009, 13:01
    #35819440
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Вопрос маленько меняется. Нашёл следущий код:
Код: plaintext
1.
  SetWindowLong(TRLTipiTree.Handle, GWL_STYLE, GetWindowLong(TRLTipiTree.Handle,GWL_STYLE)  or  TVS_CHECKBOXES);
В каком модуле содержится константа: TVS_CHECKBOXES?
...
Рейтинг: 0 / 0
16.02.2009, 13:30
    #35819496
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Вопрос меняется опять. Как узнать state checkbox'a для каждого элемента дерева в отдельности. Желательно не не трогая сам класс TTreeView (обработка будет при нажатии на кнопку)
...
Рейтинг: 0 / 0
16.02.2009, 14:45
    #35819773
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
26.02.2020, 01:24
    #39930839
TreeView и CheckBox
DimaBr,

А можно ли без костылей (в виде иконок) сделать Checkbox-ы только на дочерних узлах? На просторах интернета что только не предлагают, но либо разнообразные костыли (вроде иконок, перехвата чего-нибудь), либо сторонние компоненты типа VirtualTreeView.
Сторонние компоненты, это хорошо, но не очень удобно, так как сижу на разных компах (папка с программа синхронизируется через облако), везде придется ставить дополнительные компоненты, ещё и возможные проблемы с совместимостью.

НУ и вообще, эта проблема аж 17-20 лет назад поднималась по куче раз, неужто ни Борлан (пока был жив), ни Эмбаркадеро ничего удобного не сделали до сих пор?
...
Рейтинг: 0 / 0
26.02.2020, 02:47
    #39930848
northener
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей Игоревич
DimaBr,

А можно ли без костылей (в виде иконок) сделать Checkbox-ы только на дочерних узлах? На просторах интернета что только не предлагают, но либо разнообразные костыли (вроде иконок, перехвата чего-нибудь), либо сторонние компоненты типа VirtualTreeView.
Сторонние компоненты, это хорошо, но не очень удобно, так как сижу на разных компах (папка с программа синхронизируется через облако), везде придется ставить дополнительные компоненты, ещё и возможные проблемы с совместимостью.

НУ и вообще, эта проблема аж 17-20 лет назад поднималась по куче раз, неужто ни Борлан (пока был жив), ни Эмбаркадеро ничего удобного не сделали до сих пор?

А вас тоже волнует именно Delphi6?
...
Рейтинг: 0 / 0
26.02.2020, 05:21
    #39930856
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей Игоревич
НУ и вообще, эта проблема аж 17-20 лет назад поднималась по куче раз, неужто ни Борлан (пока был жив), ни Эмбаркадеро ничего удобного не сделали до сих пор?

Не вижу никакой проблемы.
Вы хотите один контрол (CheckBox) встроить в узел, а я хочу другой контрол (TForm) встроить в узел. Разве Эмба или Борланд должны исполнять наши хотелки ?
...
Рейтинг: 0 / 0
26.02.2020, 09:51
    #39930909
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей Игоревич
неужто ни Борлан (пока был жив), ни Эмбаркадеро ничего удобного не сделали до сих пор?

Это к мелкософту предъява
...
Рейтинг: 0 / 0
26.02.2020, 10:09
    #39930913
Zelius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
dj_raven,

можно сэмулировать дерево с помощью TListView, там есть свойство Indent, которым можно отступы регулировать, а чекбоксы там помоему встроены.
...
Рейтинг: 0 / 0
26.02.2020, 13:08
    #39931038
TreeView и CheckBox
DimaBr,

Если проблема актуальна (в каждом первом установщике дерево с чекбоксами, в каждом втором часть ветвей без них), начиная 20 лет назад и по сей день куча тем поднимается на данную тему. Это ли не причина добавить такой компонент. Вон, аж 4 способа выбора цвета добавили, значит что-то же делают.
...
Рейтинг: 0 / 0
26.02.2020, 13:11
    #39931039
TreeView и CheckBox
northener

А вас тоже волнует именно Delphi6?

Нет, не понял вопроса. В 10х это реализовано?
Zelius
dj_raven,

можно сэмулировать дерево с помощью TListView, там есть свойство Indent, которым можно отступы регулировать, а чекбоксы там помоему встроены.

Потыкаю. Спасибо.
...
Рейтинг: 0 / 0
26.02.2020, 15:03
    #39931096
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей Игоревич
Если проблема актуальна

Проблема не актуальна
...
Рейтинг: 0 / 0
26.02.2020, 16:17
    #39931148
TreeView и CheckBox
DimaBr
Андрей Игоревич
Если проблема актуальна

Проблема не актуальна

Настолько неактуальна, что есть несколько сторонних компонентов с реализацией данного функционала, на каждом форуме по 5-10 тем по этому вопросу, в поисковике всплывает тьма статей как это реализовать разными способами (различной степени костыльности).
В том же C# и не только имеем https://docs.microsoft.com/ru-ru/dotnet/api/system.windows.forms.treeview.checkboxes?view=netcore-3.0 данную возможность".
Ну прям образец неактуальности.
...
Рейтинг: 0 / 0
26.02.2020, 16:30
    #39931155
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей ИгоревичА можно ли без костылей (в виде иконок) сделать Checkbox-ы только на дочерних узлах?

О чём ты? CheckBox это и есть иконка в одном их системных ресурсов. Других в природе не
существует.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.02.2020, 16:43
    #39931163
TreeView и CheckBox
Dimitry Sibiryakov

Андрей ИгоревичА можно ли без костылей (в виде иконок) сделать Checkbox-ы только на дочерних узлах?

О чём ты? CheckBox это и есть иконка в одном их системных ресурсов. Других в природе не
существует.

Ну во первых, получается я теряю возможность использовать свои иконки, так как заменяю на чекбокс, во вторых всё равно надо делать функционал (смена иконок, текущее состояние (boolean), событие на изменение). Без костылей было бы, чтоб каждый чекбокс - компонент с событием, ну или как в listview. Непонятно почему сразу такого нет среди компонентов, так как везде и всюду используется подобные аналоги.
...
Рейтинг: 0 / 0
26.02.2020, 18:54
    #39931241
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей Игоревичполучается я теряю возможность использовать свои иконки, так как заменяю на чекбокс

Не заменяешь. Чекбокс это статусная иконка:
https://docs.microsoft.com/en-us/windows/win32/controls/tree-view-control-window-styles
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.02.2020, 19:42
    #39931269
TreeView и CheckBox
Dimitry Sibiryakov

Андрей Игоревичполучается я теряю возможность использовать свои иконки, так как заменяю на чекбокс

Не заменяешь. Чекбокс это статусная иконка:
https://docs.microsoft.com/en-us/windows/win32/controls/tree-view-control-window-styles

Код: pascal
1.
SetWindowLong(TreeView1.Handle, GWL_STYLE, GetWindowLong(TreeView1.Handle,GWL_STYLE) or TVS_CHECKBOXES);


Эту штуку то я сразу нашел как включать, всё нормально с ней работает, но там возникает куча проблем с отсутствием события, приходится городить огород через "OnClick" (при том клик по чекбоксу не вызывает события select/selected/changed, да и в общем-то и не выделяет узел (то есть через проверку конкретного узла не получится определить чекбокс, приходиться постоянно проверять все узлы на смену статуса))
Ну и я не смог разобраться, как этим способом сделать чекбоксы только у части узлов.
В общем сделать то, естественно, можно. Можно вообще свой компонент-дерево сделать (что многие и сделали, на форумах можно найти разные исходники), но долго и не очень хочется для одноразовой задачи.
Думаю воспользуюсь костылями отсюда http://www.delphisources.ru/forum/showthread.php?t=25944 и пойду жить дальше. Жаль что в базовом варианте Эбракодеро не добавили такую возможность.
...
Рейтинг: 0 / 0
26.02.2020, 19:53
    #39931277
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей ИгоревичНу и я не смог разобраться, как этим способом сделать чекбоксы только у части узлов.

Setting the state image to zero removes the check box altogether.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.02.2020, 20:39
    #39931295
TreeView и CheckBox
Dimitry Sibiryakov

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

Setting the state image to zero removes the check box altogether.

Возможно я не очень разобрался, но смена данного параметра оключает флажки в целом у всех узлов, а не у конкретного, но надо потыкать.
...
Рейтинг: 0 / 0
26.02.2020, 23:17
    #39931331
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Так достаточно убедительно, что проблема не актуальна ?
...
Рейтинг: 0 / 0
27.02.2020, 14:13
    #39931708
TreeView и CheckBox
DimaBr
Так достаточно убедительно, что проблема не актуальна ?

12 тем исключительно по данному вопросу. Не какие-то широкие обсуждения, а конкретный узкий вопрос.
Тема №1, предлагают сторонний компонент InfoPower3000
Тема 2,4 - без ответа.
Тема 3 - сторонний компонент VirtualTreeview
Тема 5 - сторонний компонент (ссылка недоступна, хз что там)
Тема 6 - обсуждение, упоминание какого-то стороннего "глобуса", где всё есть,
Тема 7 - VirtualTreeView
Тема 8 - вопрос без нормального ответа
Тема 9 - первое нормальное обсуждение (точнее автор сам на все себе и ответил), по сути я сейчас так же сделал
Тема 10 - текущая
Тема 11 - что-то из темы 9 выложено сразу автором, в комментариях предлагают сторонние компоненты - TVirtualStringTree и TjvTreeView (JEDI)
Тема 12- начало темы со стороннего компонента, потому пропустил, хотя дальше вроде интересное обсуждение.

Если по вашему это не актуальная проблема, то я тогда даже не знаю, что такое актуальная.
...
Рейтинг: 0 / 0
27.02.2020, 14:20
    #39931712
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей Игоревич
Если по вашему это не актуальная проблема, то я тогда даже не знаю, что такое актуальная.

Не актуальная, поскольку вы не посмотрели главное - ДАТЫ этих вопросов
...
Рейтинг: 0 / 0
27.02.2020, 14:36
    #39931719
TreeView и CheckBox
DimaBr
Андрей Игоревич
Если по вашему это не актуальная проблема, то я тогда даже не знаю, что такое актуальная.

Не актуальная, поскольку вы не посмотрели главное - ДАТЫ этих вопросов

То есть с тех пор что-то поменялось и в Delphi появился необходимый инструмент? Или надо делать всё так же, как и в предложенных темах? По мне даты тут скорее говорят об общем затухании интереса к Delphi, потери актуальности его, как языка программирования (что безмерно жалко), а не потери актуальности вопроса.

Тут вот, кстати, предложили хоть решение через картинки с примером TTreeNode + CheckBox , зря я не стал читать всю тему, подумав, что там о стороннем компоненте. Всё равно, конечно, надо городить свой огород событий и переменных, но уже что-то.(оказывается там и иконки можно свои использовать помимо чекбокса)
...
Рейтинг: 0 / 0
27.02.2020, 14:39
    #39931725
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и CheckBox
Андрей Игоревич

12 тем исключительно по данному вопросу. Не какие-то широкие обсуждения, а конкретный узкий вопрос.
Тема №1, предлагают сторонний компонент InfoPower3000
...
Если по вашему это не актуальная проблема, то я тогда даже не знаю, что такое актуальная.

Вы просто плохо читаете: 1я тема, 3-е сообщение - ссылка на SO где этот вопрос решён.

...
Рейтинг: 0 / 0
27.02.2020, 15:03
    #39931738
TreeView и CheckBox
alekcvp
Андрей Игоревич

12 тем исключительно по данному вопросу. Не какие-то широкие обсуждения, а конкретный узкий вопрос.
Тема №1, предлагают сторонний компонент InfoPower3000
...
Если по вашему это не актуальная проблема, то я тогда даже не знаю, что такое актуальная.

Вы просто плохо читаете: 1я тема, 3-е сообщение - ссылка на SO где этот вопрос решён.



В указанной темпе такого не увидел, но спасибо. В принципе пойдет, хотя по мне без события всё равно костыль (или быть может где ещё о событии написано?)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TreeView и CheckBox / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]