Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.01 c
2-1249639107
Бисовецкий Андрей
2009-08-07 13:58
2009.10.18
Проблема со скоростью


15-1250414408
dimoktmb
2009-08-16 13:20
2009.10.18
Виртуальный COM от Prolific


2-1250244758
fedor-dveniatin
2009-08-14 14:12
2009.10.18
Курсор мыши больше чем 32х32


15-1250499464
Kolan
2009-08-17 12:57
2009.10.18
Можно ли посмотреть описание события без исходного кода?


15-1250415445
AndreyRus
2009-08-16 13:37
2009.10.18
"Феня" компилятора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский