Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];
ВнизКомпонент для формы настроек Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c