Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.18;
Скачать: CL | DM;

Вниз

Компонент для формы настроек   Найти похожие ветки 

 
leonidus   (2009-08-06 14:42) [0]

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


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

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


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

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


 
Dennis I. Komarov ©   (2009-08-06 15:26) [3]


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

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


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

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


 
Palladin ©   (2009-08-19 09:55) [5]

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


 
Anatoly Podgoretsky ©   (2009-08-19 10:21) [6]


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

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


 
TIF ©   (2009-08-19 15:44) [7]

> При чем тут TNotebook

При том

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

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

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

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

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

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


 
TIF ©   (2009-08-19 15:46) [8]

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

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

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


 
Andy BitOff ©   (2009-08-19 16:06) [9]


> leonidus   (06.08.09 14:42) 

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


 
Anatoly Podgoretsky ©   (2009-08-19 16:36) [10]

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

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


 
Loginov Dmitry ©   (2009-08-19 22:52) [11]

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


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


 
TIF ©   (2009-08-20 01:50) [12]

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

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

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

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

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


 
belousov ©   (2009-08-20 04:17) [13]

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


 
AIK ©   (2009-08-20 09:38) [14]

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



Страницы: 1 вся ветка

Текущий архив: 2009.10.18;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
2-1250593303
Miklyha
2009-08-18 15:01
2009.10.18
Не срабатывает Form1.Close;


2-1250834158
ford
2009-08-21 09:55
2009.10.18
TRxDBRichEdit не выводит popupmenu


2-1250492579
studenttgata
2009-08-17 11:02
2009.10.18
Определение градиента.


15-1250672080
Kostafey
2009-08-19 12:54
2009.10.18
Софт для просмотра лога консоли


2-1250337245
Чипырик
2009-08-15 15:54
2009.10.18
Вопрос по БД