![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компонент для формы настроек [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.