Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Как проще всего сделать 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.024 c
11-1206715018
misha_shar
2008-03-28 17:36
2009.10.25
KOLPageSetupDialog


15-1250873687
Student
2009-08-21 20:54
2009.10.25
WIN32.INDUC - шо за такое?


4-1220526205
Vlad Oshin
2008-09-04 15:03
2009.10.25
Не происходит сообщения WM_SETFOCUS,WM_KILLFOCUS


2-1251798189
Franzy
2009-09-01 13:43
2009.10.25
Запуск расчета сразу после отрисовки формы


2-1251462711
denis_lunev
2009-08-28 16:31
2009.10.25
Сохранение изменений свойств в EDIT