Форум: "Основная";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];
ВнизМножество настроек - как организовать? Найти похожие ветки
← →
VovanV (2002-02-03 23:55) [0]Пишу некую программку. В ней предусмотрено большое количество различных настроек.
Вопрос: Как организовать их просмотр, изменение?
Обычно делают так:
Некое специально окно - настройки.
Окно разделено на две части - левую и правую.
В левой части - список разделов.
При нажатии на какой-то раздел в правой части окна появляются настройки которые касаются только этого раздела.
Реализация:
Воплощение я представляю так: Левая часть(список разделов настроек) - ListBox
При выборе какого-либо раздела. Уничтожается все, что было в правой части. И там создаются(в коде программы) всякие новые TEdit, TComboBox и т.п. в которых настройки касающиеся только этого раздела.
Что мне в этом не нравится: При большом количестве настроек довольно муторно постоянно создавать новые TEdit, TComboBox и т.п. А потом их уничтожать.
Может как-то по другому лучше это реализовать? Компонент? Кто как делает подобные вещи? Каков алгоритм?
← →
Виктор Щербаков (2002-02-04 09:00) [1]TPageControl
← →
Юрий Федоров (2002-02-04 10:02) [2]Можно не уничтожать и создавать, а накидать панелей (или фреймов), из которых только одна visible = true, а слева на мой взгляд лучше TTreeView.
Я писал фреймы от общего предка, в котором было 2 абстрактных метода, типа LoadParams и SaveParams (загрузка\сохранение в реестр\ини-файл)
← →
VovanV (2002-02-04 12:48) [3]а если самому создавать и уничтожать, то программа будет меньше места занимать? Или может более оптимальный код будет?
← →
Юрий Федоров (2002-02-04 13:09) [4]Кода будет больше, а памяти занимать меньше
← →
VovanV (2002-02-04 16:37) [5]А объем дискового пространства?
Вообще, имеет ли смысл возится с тем, чтобы в коде создавать все элементы? Кнопки, TEdit и т.п.?
← →
KSergey (2002-02-04 16:56) [6]>Вообще, имеет ли смысл возится с тем, чтобы в коде создавать все элементы? Кнопки, TEdit и т.п.?
А зачем вам тогда собственно Delphi с его огромными библиотеками? Возьмите и слепипе все это без использования каких-либо библиотек (хоть и на Delphi, но без использования VCL, как модно говорить "используя только WinAPI"). И места и памяти займет минимум.
Вот только зачем?
← →
MaratFromTomsk (2002-02-05 08:03) [7]На мой взгляд, правильно делать страницы свойств.
а в них отрисовывать то что надо
ну примерно так как это в Дельфе сделано
свойства среды, редактора ...
я считаю неправильным использование каких либо общих редакторов
типа Object Inspector для выполнения этой работы.
если ты не знаешь какие свойства у тебя д.б.
это означает что ты не знаешь какую программу ты пишешь ...
← →
Ura (2002-02-05 11:06) [8]Цель: создать неизменяемый код программы, а изменять извне только список настроек?
Все равно придеться внутри хранить объект настроек!!!
Предложение такое...
Каждый класс настроек т.е. название класса настроек + название каждой настройки + тип переменной каждой настройки + форма для их редактирования = DLL
Алгоритм такой:
1. Сканируешь список DLL с настройками.
2. В список слева занисишь название класса настроек (из DLL)+ адрес на функцию вызова формы для редактирования
3. Создаешь структуру взяв из DLL название настроек и их тип.
4. Передаешь в DLL ссылку ко компонент правой панели в который будем встраивать форму для редактирования настроек + еще кое что.
5. При активизации настройки
а) уничтожаешь форму которая сейчас в правой панели
б) создаешь форму для данной настройки
в) либо она сома дочится (адрес передали то), либо дочишь ее сам
г) отображаешь форму...
Примечание: Все равно надо будет перекомпилировать при изменении колличества настроек или изменении названий настроек. Но выгода тоже есть небольшая... можно обработки настроек менять :-) можно внешний вид :-).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c