Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];

Вниз

Как проще всего сделать Wizard?   Найти похожие ветки 

 
@!!ex ©   (2009-08-24 12:02) [0]

Нужно сделать Wizard - тоесть набор последовательных страничек в пределах одной формы.
Собственно вопрос в том, как удобнее всего управлять странички и на чем их размещать?
Если, например делать их на Panel и скрывать ненужные, то в работе все Ок. А вот в Design-Time - получаем кучу проблем в управлении и редактировании содержимого Panels...


 
Ega23 ©   (2009-08-24 12:04) [1]

Набор фреймов.


 
@!!ex ©   (2009-08-24 12:05) [2]

> [1] Ega23 ©   (24.08.09 12:04)

Я тоже в их сторону подумал. Но не пользовался никогда.
Нагуглил статей, но там фреймы для других целей используються и я не понял как их в рантайме менять.


 
TIF ©   (2009-08-24 12:22) [3]

На днях упоминалось :) TNotebook
http://delphimaster.net/view/2-1249555352/

см. мой PS к [7] и [8]


 
Ega23 ©   (2009-08-24 12:22) [4]

TFrame.Create(nil)
TFrame.Parent := Panel1 (Form1, что-там у тебя)
ну и т.д.


 
@!!ex ©   (2009-08-24 12:38) [5]

Понял.


 
sniknik ©   (2009-08-24 12:44) [6]

> см. мой PS к [7] и [8]
лучше смотри Andy BitOff ©   (19.08.09 16:06) [9]


 
TIF ©   (2009-08-24 13:25) [7]

> лучше смотри [9]

Чем лучше? У PageControl-а вкладки, а у "мастеров" вкладок не бывает (по крайней мере традиционных :)


 
TIF ©   (2009-08-24 13:28) [8]

> вкладки

То бишь эти, как их назвать-то... "Ярлычки" )


 
Ega23 ©   (2009-08-24 13:45) [9]


>
> То бишь эти, как их назвать-то... "Ярлычки" )
>


for i := 0 to PageControl1.PageCount - 1 do
 PageControl1.Pages[i].TabVisible := False;


 
TIF ©   (2009-08-24 13:57) [10]

> PageControl1.Pages[i].TabVisible := False;

:)))
Тут как раз будет скрытие самих вкладок-страниц, а не только "ярлычков". В результате выполнения этого кода все вкладки будут скрыты вместе с их содержимым

PS: "ярлычки"
http://pinpic.ru/img/1506/6aa675c874d7e385345b0cb6d87ed98a.jpg.html


 
Andy BitOff ©   (2009-08-24 13:59) [11]


> TIF ©   (24.08.09 13:57) [10]

А ты попробуй ;)


 
Ega23 ©   (2009-08-24 14:11) [12]


> Тут как раз будет скрытие самих вкладок-страниц, а не только
> "ярлычков". В результате выполнения этого кода все вкладки
> будут скрыты вместе с их содержимым


Да ну? И как же у меня ничего не скрывается-то, а?
И переключение через ActivePage работает.


 
TIF ©   (2009-08-24 14:11) [13]

> А ты попробуй ;)

Ну я и попробовал, а потом ответил :) Накидал label-ов на каждую вкладку и нажал button, который выполнил

for i := 0 to PageControl1.PageCount - 1 do
PageControl1.Pages[i].TabVisible := False;


Все label-ы исчезли с глаз моих, остался только голый "папа"-PageControl


 
Ega23 ©   (2009-08-24 14:12) [14]


> Все label-ы исчезли с глаз моих, остался только голый "папа"-
> PageControl


ActivePage Дядя Вася будет задавать?


 
TIF ©   (2009-08-24 14:26) [15]

> ActivePage Дядя Вася будет задавать?

О, как всё хитро устроено )
Надо было сразу предупреждать, я-то надеялся на сохранение активности текущей вкладки при скрытии, а надо ещё и вручную фокусировать
PageControl1.ActivePageIndex:=1;
ну или
PageControl1.ActivePage:=TabSheet2;


Правда всё равно остаются два минуса
1) Нужно ручками делать скрытие. Несмертельно, но мне лично психологически неприятно (ишь какой слабонервный...). С TNotebook таких ухищрений не требуется, остаётся только изменение ActivePage, то бишь одна строчка кода
2) PageControl поддерживает темы (manifest). С одной стороны, это даже не минус, а плюс :)
С другой, под Vista и Windows 7, например, он будет белого цвета, а надо другого... В TNotebook для этого достаточно изменить свойство Color


 
Andy BitOff ©   (2009-08-24 14:33) [16]

Не нужно ручками и даже противпоказано. В IDE надо. Т.к. рабочее пространство TabSheet увеличивается. Ручками убрать закладки и ObjectTreeView спокойно переключаешся между ними. ActivePage в этом случае ставится автоматом.
А по второму пункту даже и не понял кто там белый будет? PageControl? Да с какой радости? Зачем его на экран-то показывать. Показывать надо TabSheet.


 
TIF ©   (2009-08-24 14:41) [17]

> PageControl? Да с какой радости? Зачем его на экран-то показывать.
>  Показывать надо TabSheet.

Всё белое будет, включая TabSheet-ы. На скриншоте в [10] виден фрагмент

> В IDE надо. Т.к. рабочее пространство TabSheet увеличивается.
>  Ручками убрать закладки и ObjectTreeView спокойно переключаешся
> между ними.

Вариант. Правда менее удобно при разработке и "вёрстке", но привыкнуть можно
Насчёт пространства верно, согласен, хотя это некритично (обычно так и так нужен отступ снизу, вот он и получится после выполнения того цикла по скрытию)


 
Ega23 ©   (2009-08-24 15:10) [18]

Вобщем, я не понял, о чём ветка вообще. Я просто прицепился, что, дескать, нельзя вкладки у PageControl скрыть.


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

> Вобщем, я не понял, о чём ветка вообще.

Про создание своих мастеров

> @!!ex ©   (24.08.09 12:02) 
> Нужно сделать Wizard - тоесть набор последовательных страничек
> в пределах одной формы.


То есть наподобие этого:
http://pinpic.ru/img/1508/06fe89c3012d42721b19004252c2a5cf.jpg.html


 
Kolan ©   (2009-08-24 16:04) [20]

У меня есть компонет на TPageControl, хочешь покапаться?


 
MonoLife ©   (2009-08-24 16:49) [21]

Я как-то раз попробовал на фреймах, понравилось:))



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

Форум: "Начинающим";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.108 c
4-1219732438
KygECHuK
2008-08-26 10:33
2009.10.25
Выгрузка WinApi перехватчика


1-1220945342
Iris
2008-09-09 11:29
2009.10.25
настройки печати StringGrid-а


2-1251718687
abun
2009-08-31 15:38
2009.10.25
icns - иконки для MAC


15-1250873584
blackman
2009-08-21 20:53
2009.10.25
Российский программист: ничего особенного


2-1251020827
EXEcER
2009-08-23 13:47
2009.10.25
Рэндом в Label





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский