![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Свойства программы в виде дерева [D7, Win95/98, WinXP]
sco © (2006-01-21 21:33:00)Примеры програм Network Assistens, Corel Draw, Venta Fax Voice и т.д. Я хотел бы уметь настройки программы подготавливать в разных модулях(но удобно - визуально), и грузить в одной форме! Надеюсь понятно объяснил, так как сам особо не представляю о чём пишу. Только просьба попонятнее ( я с этими всякими погружаемыми обхектами никогда не работал, для меня ето тёмный лес). Заранее спасибо.
eugie (2006-01-26 05:38:00) [1]Я делаю так:
слева - TTreeView
справа - TPageControl, с вкладками, у которых TabVisible:=false, TPageControl может иметь вложенные TPageControl
Для заполнения TTreeview написал алгоритм заполнения дерева, анализирующий структуру TPageControl (вместе с вложенными TPageControl) - узлы TTreeView - объекты (отображаются Caption TTabSheet-ов, в data (указатель на запись) вношу иформацию о TPageControl и о PageIndex TTabSheet-а).
В обработчике TTreeView.OnChange - какой TTabSheet показывать на основе свойства data для TTreeNode.
Если необходимо использовать заготовки для использования в данном винегрете, то пользуюсь фреймами, которые создаю динамически при первом показе какого-либо TTabSheet-a - использую событие OnShow TTabSheet-а.
Ega23 (2006-01-23 11:11:00) [2]Припиши каждому Node.Data определённую форму (или Frame).
И грузи их.
isasa (2006-01-23 10:55:00) [3]Для этих целей удобнее TFrame
Сайбель Алексей (2006-01-23 10:06:00) [4]Это обычные наследники TForm
sco (2006-01-23 04:04:00) [5]А что такое Detail формы? И с чем их едят! Ах, да и как их создавать?
Сайбель Алексей (2006-01-22 15:44:00) [6]2 куда удобнее было бы готовить каждую панель отдельно и в разных модулях, ну типа в разных формах.
Главная форма - frmMain
Detail формы - frmDetail1, frmDetail2.
На главной форме находится Panel
он служит для отображения Detail форм
При выборе соотв. "левого дерева настроек"
...
frmDetail1.Parent := Panel;
frmDetail1.Show;
...
...
frmDetail2.Parent := Panel;
frmDetail2.Show;
...
Sco (2006-01-22 11:12:00) [7]Есть одна проблема с этим вариантом,
1 там такой большой pas будет
2 куда удобнее было бы готовить каждую панель отдельно и в разных модулях, ну типа в разных формах.
Сайбель Алексей (2006-01-22 10:44:00) [8]Ну как вариант, насколько я понял постановку задачи:
TTreeView + "куча" TabSheet'ов
Всем страницам выставляешь TabVisible = false
При переходе на определенный node, активируешь нужный TabSheet: PageControl.ActivePage:=TabSheet;
sco (2006-01-22 09:42:00) [9]Окно типа такого:
Слева дерево настроек, справа панелька с настройками соответствующими выбранному звену левого дерева настроек!
Ну часто такое в программах. Не может быть чтобы не видели! Насколько я понимаю есть 2 типа окон настроек программы: первый куча TabSheet'ов, второй дерево а справа настройки звена! Ну если не понятно как нибудь ссылку на скрин раздобуду.
Джо (2006-01-21 21:54:00) [10]> так как сам особо не представляю
> о чём пишу
Задачу, не имеющую формулировки, решить невозможно в принципе.
Eraser (2006-01-21 21:49:00) [11]
> sco © (21.01.06 21:33)
> Надеюсь понятно объяснил
не очень...