Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Свойства программы в виде дерева [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)


>  Надеюсь понятно объяснил

не очень...


Наверх

Титульная страница Поиск, карта сайта Написать письмо