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

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

27.10.2014, 19:57. Показов 1358. Ответов 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
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,014
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
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru