Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772

Компонент для отображения и ввода настроек

27.10.2014, 19:57. Показов 1387. Ответов 10

Студворк — интернет-сервис помощи студентам
Доброго дня, коллеги!
Столкнулся с проблемой выбора подходящего компонента и не знаю в какую сторону копать.
Задача следующая: есть TreeView с деревом названий настроек. Каждая такая настройка имеет ряд поднастроек, которые как раз и можно изменять. Данные поднастройки я отображаю в ValueListEditor.
Трудности следующие:
1. При выборе настройки из TreeView каждый раз приходится стирать текущие поднастройки в ValueListEditor и заново программно создавать в нем поля, комбобоксы и инициализировать их последние значения.
2. Обилие кода на каждый чих при такой реализации.
3. Трудности запихнуть чекбокс в ValueListEditor.

Есть ли более удобные компоненты по работе с настройками? К примеру, как Object Inspector в самой RAD Studio. Оптимальным ли я путем иду? У меня сомнения.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2014, 19:57
Ответы с готовыми решениями:

Компонент для отображения папок
собственно есь ли такой и как он называется? (нужно чтобы пользователь сам выбрал папку) Добавлено через 7 минут какая строка у...

Компонент для отображения графиков
Нужен компонент который бы смог отобразить биржевые графики типа бар или японские свечи, лучше даже все сразу. Есть ли такой? Или из...

Компонент для отображения Hex
Уважаемые, есть ли что-то готовое для вывода и редактирования данных в таком же виде, как оно выглядит в Hex-редакторах?

10
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.10.2014, 20:36
Цитата Сообщение от sitesv Посмотреть сообщение
2. Обилие кода на каждый чих при такой реализации.
Пишите хелоуволды, в них мало кода. И не за что не пишите более сложные программы где нужно думать, если думать так и не далеко поумнеть.

Какого вы хотите еще совета?
0
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
27.10.2014, 20:46
Сохраняй в а)реестре или (лучше) в б)ini-файле.
а) мой старый код
Unit2a.zip
б) код поновее
Unit2b.zip

3. Трудности запихнуть чекбокс в ValueListEditor.
Сохраняй 0 или 1.

Если настроек/поднастроек не много, то можно и без TreeView обойтись.
Миниатюры
Компонент для отображения и ввода настроек   Компонент для отображения и ввода настроек  
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
27.10.2014, 20:46
С чего ради обилие кода?
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
28.10.2014, 15:40  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Какого вы хотите еще совета?
я же все в вопросе описал... просто если бы Вы сделали то что я описал по-другому и это было бы проще, то почему сразу хэллоуворлды?

Цитата Сообщение от gunslinger Посмотреть сообщение
Если настроек/поднастроек не много, то можно и без TreeView обойтись.
Спасибо, но, к сожалению, настроек много.

Цитата Сообщение от BRcr Посмотреть сообщение
С чего ради обилие кода?
Меня смущает, что при выборе в TreeView узла, каждый раз приходится заново перерисовывать ValueListEditor.

Не знаю, но постараюсь спросить иначе: как иначе отобразить кучу настроек в ValueListEditor, кроме как заполнением по-очереди? Может как-то смаппить массив настроек на компонент можно?
Может лучше создавать для каждого узла TreeView свой экземпляр ValueListEditor'a (чтобы изменять только отображение и не пересоздавать настройки повторно)? Может как-то можно слои прикрутить?

Если вы бы сделали также, как и я, то я спокоен, что на правильном пути.

Видел с одной программке вот такой компонент:
[cut]
Обратил внимание на следующее:
1. Список раскрываемый.
2. Имеется заголовок с кнопками, нажатие на которые может, видимо, отсортировать названия настроек итд.
3. Имеются комбобоксы и чекбоксы.

Мне интересно, это один компонент используется или несколько?
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
28.10.2014, 15:54
Цитата Сообщение от sitesv Посмотреть сообщение
Список раскрываемый.
Вот здесь поглядите для разнообразия: ComboBox раскрывающийся наверх
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
28.10.2014, 16:08  [ТС]
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2014, 17:48
Цитата Сообщение от sitesv Посмотреть сообщение
Меня смущает, что при выборе в TreeView узла, каждый раз приходится заново перерисовывать ValueListEditor.
Перерисовывать не нужно.
Просто перезаполнить, что тут "смущательного"?

Добавлено через 2 минуты
Цитата Сообщение от sitesv Посмотреть сообщение
Может лучше создавать для каждого узла TreeView свой экземпляр ValueListEditor'a (чтобы изменять только отображение и не пересоздавать настройки повторно)?
Можно и так TTabSheet(TPageControl)+ TFrame + TValueListEditor на каждый TTreeNode настроек, но это хуже, так как данные меняют а компоненты по сути те же используются(ну и память на них) + плюс перерисовка при переключении более заметная.

Добавлено через 5 минут
Цитата Сообщение от sitesv Посмотреть сообщение
3. Трудности запихнуть чекбокс в ValueListEditor.
Может тогда лучше использовать DrawGrid для отображения? СheckBox рисовать в ручную
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2014, 18:00
Цитата Сообщение от sitesv Посмотреть сообщение
Мне интересно, это один компонент используется или несколько?
Cмотри сам:
Миниатюры
Компонент для отображения и ввода настроек  
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2014, 18:10
Цитата Сообщение от Avazart Посмотреть сообщение
Может тогда лучше использовать DrawGrid для отображения? СheckBox рисовать в ручную
В принципе в TValueListEditor то же есть DrawCell так что тоже можно вручную рисовать.
1
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
28.10.2014, 22:11  [ТС]
Спасибо за развернутый ответ!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2014, 22:11
Помогаю со студенческими работами здесь

Подобрать компонент для организации настроек приложения
Здравствуйте. Приложение будет использовать ftp, yadisk, ggl drive. Сломал голову как сделать удобный интерфейс для редактирования...

Компонент для табличного отображения данных
Есть ли в ViSt какой-нибудь, компанент для табличного отображения данных, аналог StringGrid в Delphi? А если нет то где можно достать?

Компонент для отображения разносортной информации из БД
Ребят, задача следующая. Пусть имеется некая БД, поля которой имеют разные типы: текст, число, ричтекст, картинка и т.д. Необходимо все...

Компонент для отображения древовидных списков
Добрый день уважаемые. Не подскажите, в VS 2010 есть компонент для отображения древовидных списков: например список работников организации...

Компонент для корректного отображения RTF
Всем привет! Подскажите пожалуйста компанент для корректного отображения RTF файлов.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru