Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как разместить компоненты на форме, чтобы было...(см.вложение)

5.3K
30 декабря 2007 года
!Волк
95 / / 19.07.2006
В общем хочу организовать опции в программе следующим образом. В левой части формы список опций, а в правой части формы чтобы появлялись сами настройки(компоненты) в зависимости от того, какой пункт выбран в списке с лева. В общем так же как на картинке во вложении. Чтобы увидеть в живую, приведу пример на двух распространенных прогах: Winamp->Options->Preferences, или TheBat->Свойства->Настройка.
Интересует, как сделать так же. Я пока представляю себе это следующим образом. На форму набросать кучу компонентов, и при выборе определенного пункта списка, определенная круппа компонентов становится видимой. Все остальные компоненты соответственно невидимые. И так для каждого пункта меню. Но мне кажется есть более удобный способ или хотя бы более проффесиональный)? Пишу прогу на билдере 6.
3.2K
30 декабря 2007 года
nikipelovav
152 / / 12.04.2006
Цитата: !Волк
Я пока представляю себе это следующим образом. На форму набросать кучу компонентов, и при выборе определенного пункта списка, определенная круппа компонентов становится видимой. Все остальные компоненты соответственно невидимые. И так для каждого пункта меню. Но мне кажется есть более удобный способ или хотя бы более проффесиональный)? Пишу прогу на билдере 6.



Правильно представляешь. Один умный человек сказал: результат необходимо достигать простым, понятным способом. Незачем выдумывать что-то эдакое ... )))

Панель "Дерево параметров" - привяжи к левому борту ( Align = alLeft).
"Группы компонент" располагай на отдельных панелях. Их впиши в окно ( Aign = alClient). И лишь управляй свойством Visible панелей. Или переноси нужную панель поверх остальных методом BringToFront().

Вот и всё.

8.4K
31 декабря 2007 года
Zor
104 / / 23.04.2006
+1 :)
только сначала раскладываются панели (с Align = alLeft и Align = alClient)
а уж потом и "Дерево параметров" и прочие кнопки
4.0K
31 декабря 2007 года
ApokALEXIS
112 / / 23.08.2006
в билдере были компоненты типа страницы, или вкладки
вроде tabs...

сорри что не конкретно - билдера щас нет:o
309
01 января 2008 года
el scorpio
1.1K / / 19.09.2006
Неа, тогда названия вкладок будут торчать наверху :)
4.0K
01 января 2008 года
ApokALEXIS
112 / / 23.08.2006
а скрыть слабо?

разместить какуюнить панельку поверх заголовков.. а переключать их по индексу можно.. сам так делал
1
01 января 2008 года
kot_
7.3K / / 20.01.2000
Цитата: ApokALEXIS
а скрыть слабо?

разместить какуюнить панельку поверх заголовков.. а переключать их по индексу можно.. сам так делал


:) афтор однозначно зжет. Панелька поверх заголовков - +1000. я бы в жизни не додумался. Использовал бы TabVisible. Не в обиду. :) Наверняка ты из тех самородков - эта ссылка для тебя - http://www.carseller.ru/articles/13-09-2006.917.html
Зачет.

4.0K
01 января 2008 года
ApokALEXIS
112 / / 23.08.2006
Цитата: kot_
:) афтор однозначно зжет. Панелька поверх заголовков - +1000. я бы в жизни не додумался. Использовал бы TabVisible. Не в обиду. :) Наверняка ты из тех самородков - эта ссылка для тебя - http://www.carseller.ru/articles/13-09-2006.917.html
Зачет.



[OFFTOP]

ссылочка улыбнула=)
а нассчет табвизибл - не заметил значит... яж с самого начала самоучка... все сам нахожу, даже убебника нет. из принцыпа.
что не нахожу - идет на форум;)

[/OFFTOP]

5.3K
02 января 2008 года
!Волк
95 / / 19.07.2006
Спасибо всем за помощь. И особенно спосибо kot_ за подсказку с TabVisible. Сам бы не догадался.) На всякий случай скажу для всех, что компонент называется PageControl, в котором можно создать много страниц, а потом просто у каждой страницы выключить отображение заголовка c помощью TabVisible. Нужную страницу отображаем свойством ActivePage. Тот же эффект можно получить, если наложить панели друг на друга и управлять их свойством Visible. Но при проектировании немного удобнее все же использовать PageControl. :cool:
1.8K
03 января 2008 года
Arkady
153 / / 18.12.2007
А как избавиться от выступа у PageControl? В том смысле, что когда убираешь TabVisible - Вкладки исчезают, но выступ сверху на миллиметр всё равно остаётся. На всю ширину PageControl... небольшое, но заметное, как это убираете?)
5.3K
03 января 2008 года
!Волк
95 / / 19.07.2006
Цитата: Arkady
А как избавиться от выступа у PageControl? В том смысле, что когда убираешь TabVisible - Вкладки исчезают, но выступ сверху на миллиметр всё равно остаётся. На всю ширину PageControl... небольшое, но заметное, как это убираете?)



ИМХО никак не избавиться. Но можно сделать следующее: на каждой странице размещаешь Panel, которая будет определять вид страницы, а затем у PageControl выставляешь Style=tsFlatButtons, что сольет этот компонент с формой и никаких выступов, как и самого компонента на форме видно не будет. При програмном переключении страниц ты будешь видеть только размещенные на страницах компоненты и обрамляющие их границы компонента Panel.
Правда в данном случае проще наложить друг на друга компоненты Panel, без всяких PageControl и использовать их в качетве страниц...:D

1
03 января 2008 года
kot_
7.3K / / 20.01.2000
Цитата: !Волк
ИМХО никак не избавиться. Но можно сделать следующее: на каждой странице размещаешь Panel, которая будет определять вид страницы, а затем у PageControl выставляешь Style=tsFlatButtons, что сольет этот компонент с формой и никаких выступов, как и самого компонента на форме видно не будет. При програмном переключении страниц ты будешь видеть только размещенные на страницах компоненты и обрамляющие их границы компонента Panel.
Правда в данном случае проще наложить друг на друга компоненты Panel, без всяких PageControl и использовать их в качетве страниц...:D


В принципе все верно - единственное неудобство при работе с TPanel - всеже TPageControl под подобные задачи гораздо более удобны, особенно если страниц свойств больше чем 2 - можно конечно и указатели на панели размещать в массиве, можно и придумать механизм их перелистывания - но смысл изобретать велосипед?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог