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

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

Компонент для формы настроек [D6, XP]


leonidus ©   (2009-08-06 14:42:00) 

Хочу обновить форму настроек в одной моей программе. Сейчас там TPageControl, а хочется сделать выбор разделов в левой части окна из скажем ListView с картинками а в правой чтобы в зависимости от выбора отображались настройки того или иного раздела. С TPageControl все очень просто в плане дизайна формы, каждый раздел своя вкладка, а как быть без него, кто как решает эту проблему?


AIK   (2009-08-20 09:38:00) [1]

Как вариант отдельную форму настроек создай


belousov   (2009-08-20 04:17:00) [2]

А я бы посоветовал использовать DevExpress. Все легко настраиваться, работает вообщем-то так же как PageControl, красивый вид... вот только авторские права...))


TIF   (2009-08-20 01:50:00) [3]

> А чем не устраивает TabSheet.TabVisible

> И при выборе элемента делать PageControl.ActivePageIndex

Я понял сабж так: вообще не нужны вкладки, которые есть у PageControl-а, чтобы они не маячили; требуется полностью заменить их "деревом"-списком

> Вставляй на первой, появится на второй, чего думать то.

Так и делаю :) Только не всегда перед тем как нажать ctrl+v вспоминается этот важный момент. Одна надежда - на N-ый раз вставки выработается привычка или щёлкать пальцами медленнее, или быстрее головой думать перед щёлканьем


Loginov Dmitry   (2009-08-19 22:52:00) [4]

> А вкладки можно реализовать с использованием TNotebook


Практически не работает зараза в D2007. 90% кода DFM нужно вбивать вручную.
TPageControl всеж-таки удобнее, естественно у всех вкладок нужно отключить TabVisible.


Anatoly Podgoretsky   (2009-08-19 16:36:00) [5]

> TIF  (19.08.2009 15:46:08)  [8]

Вставляй на первой, появится на второй, чего думать то.


Andy BitOff   (2009-08-19 16:06:00) [6]


> leonidus   (06.08.09 14:42) 

А чем не устраивает TabSheet.TabVisible := False и при выборе элемента в ListView (не помню как там) ItemIndex, наверное... И при выборе элемента делать PageControl.ActivePageIndex := ListView.ItemIndex;
Или я чего-то не до понял?


TIF   (2009-08-19 15:46:00) [7]

> Только вместо кучи панелей будут pages notebook-а

> уже давно приспособил TNotebook для подобных целей

Единственное, что раздражает - при вставке (ctrl+v) компонента на второй странице, он появится на третьей


TIF   (2009-08-19 15:44:00) [8]

> При чем тут TNotebook

При том

> и в зависимости от клика в левой части окна по разделу настроек
> делать видимой ту или иную панель а остальные делать не
> видимыми.

что позволит добиться этого же эффекта. Только вместо кучи панелей будут pages notebook-а

PageIndexв помощь:
http://infodelphi.ru/Help/RADStudio/en/ExtCtrls.TNotebook.PageIndex.html

> задача в том, чтобы заголовки вкладок вынести в левую часть
> и снабдить каждую картинкой

Уже ответили, и опять же в самом начале темы :)

PS: уже давно приспособил TNotebook для подобных целей - использовать красивые вкладки в виде отдельногшо компонента, а содержимое размещать в "буке" постранично, или для создания самодельных диалогов-"мастеров" с кнопочками "< назад", "далее >" и "отмена"
PPS: черт. Когда ж ещё в Delphi создание таких "мастеров" сделают :-( Раздражает эмулировать то, что предусмотрено в Windows... В VS с этим само собой проще, а тут легче сделать своё творение, чем по-умному с помощью API построить стандартное окошечко мастера


Anatoly Podgoretsky   (2009-08-19 10:21:00) [9]


> При чем тут TNotebook, чем он отличается от того же TPageControl
> ?

Тем что TNotebook это для Windows 3.1


Palladin   (2009-08-19 09:55:00) [10]

фреймы используй


leonidus   (2009-08-19 09:48:00) [11]

При чем тут TNotebook, чем он отличается от того же TPageControl ? Повторяю проблему. Нужно чтобы с одной стороны в режиме дизайна я мог легко перейти на нужный мне раздел меню (TPageControl в этом случае идеален т.к. я могу сгруппировать настройки по вкладкам и переключаться между вкладками кликом по закладке) однако задача в том, чтобы заголовки вкладок вынести в левую часть и снабдить каждую картинкой клик по которой откроет нужную вкладку с соответствующими настройками. Можно вообще сделать несколько TPanel, на каждой сгруппировать настройки и в зависимости от клика в левой части окна по разделу настроек делать видимой ту или иную панель а остальные делать не видимыми. Но тут есть серьезный минус, в режиме дизайна для переключения между такими панелями придется каждый раз их сдвигать относительно друг друга и размещать поверх всех нужную панель чтобы поработать с ее контролами, это крайне не удобно.


Dennis I. Komarov   (2009-08-06 15:26:00) [12]


> кто как решает эту проблему?

Программист или как?


И. Павел   (2009-08-06 15:03:00) [13]

А вкладки можно реализовать с использованием TNotebook


И. Павел   (2009-08-06 14:58:00) [14]

Можно использовать TreeView - связать с ImageList и для каждого Node выбирать ImageIndex.


Наверх

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