Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Wizard-like application [D7, WinXP]


$HiC0 ©   (2005-06-27 10:44:00) 

Добрый день! Собственно сабж. Встала задача написать приложение, состоящее из нескольких шагов (порядка 10), на каждом из которых пользователь отмечает checkBoxы и radioButtonы и в состоянии нажать на три кнопки Назад, Вперед и Отмена. В общем приложение типа Wizard. Так вот собственно и вопрос. Как лучше это сделать? Для кажжого окна нарисовать свой фрейм и показывать его по мере надобности скрывая все остальные? Подменять форму? Программно удалять с формы все контролы и размещать новые? Может есть какое-то иное решение которое не пришло мне в голову? Может кто сталкивался? Какие будут советы? Заранее спасибо!


Плохиш   (2005-06-27 15:38:00) [1]


> Yuri Btr ©   (27.06.05 13:56) [14]

TPageControl.ActivePage.
Может всё-таки сам справку почитаешь?


MacroDenS   (2005-06-27 14:10:00) [2]

Да, есть такой вопрос, насчет PageControl'a:
А как Ваш Wizard реагирует на комбинации Ctrl+Tab и Ctrl+Shoft+Tab?


Yuri Btr   (2005-06-27 13:56:00) [3]

to Плохиш ©  
по идее можно было бы оставить последнюю скрытую страницу на виду


Плохиш   (2005-06-27 13:24:00) [4]


> Но зачем Borland сделала, что в Design Time скрывются все
> страницы
при установке TabVisible=false на всех страницах

А что должно быть?


Плохиш   (2005-06-27 13:23:00) [5]


> Yuri Btr ©   (27.06.05 11:35) [9]

Ну, begin...endпонятно объяснил?


Yuri Btr   (2005-06-27 13:20:00) [6]

to begin...end ©
Спасибо, не знал...
Но зачем Borland сделала, что в Design Time скрывются все страницы при установке TabVisible=false на всех страницах
Глюк?


begin...end   (2005-06-27 13:04:00) [7]

> Yuri Btr ©   (27.06.05 11:35) [9]

> как вы отобразите активную страницу - её таб всегда
> будет отображаться вверху - вследствии чего прийдестя
> его скрывать моим способом !

У всех TabSheet'ов PageControl'а устанавливаем TabVisible в False. Нужную в данный момент страницу отображаем, меняя свойство PageControl.ActivePageIndex. При этом страница отображается без всяких "табов", которые нужно было бы скрывать.


Yuri Btr   (2005-06-27 11:35:00) [8]

to Плохиш ©
Я это и без вас прекрасно понял, а вы пробовали делать это сами - табы исчезают, но как вы отобразите активную страницу - её таб всегда будет отображаться вверху - вследствии чего прийдестя его скрывать моим способом !


Yuri Btr   (2005-06-27 11:31:00) [9]

to бывший
Цитата из Delphi Help по TNoteBook

"...TNotebook is provided for backward compatibility. New applications should use TPageControl instead."

Однако он действительно удобней в данном случае, даже не смотря на то, что сама IDE Delphi использует компоненты с закладки Win3.1 - например TTabSet


Плохиш   (2005-06-27 11:29:00) [10]


> Yuri Btr ©   (27.06.05 11:26) [6]

Что " ???". Загляни в справку и не придётся делать " поднимал его немного вверх (свойство Top ~ -10) для того чтобы не отображались Tabы- закладки страниц"


Yuri Btr   (2005-06-27 11:26:00) [11]

to Плохиш ©  
???


$HiC0   (2005-06-27 11:19:00) [12]

Спасибо! Буду пробовать!


бывший   (2005-06-27 11:17:00) [13]

TNotebook однозначно - проще всего ) правда там пара глюков с самим компонентом в design-time :(


Плохиш   (2005-06-27 11:08:00) [14]


> Yuri Btr ©   (27.06.05 11:05) [2]

TTabSheet.TabVisible + F1


Плохиш   (2005-06-27 11:05:00) [15]

TPageControl


Yuri Btr   (2005-06-27 11:05:00) [16]

Я делал так, размещал на форме PageControl, делал на нем несколько страниц - соответствующим каждому шагу, поднимал его немного вверх (свойство Top ~ -10) для того чтобы не отображались Tabы- закладки страниц. А внизу можно кинуть панель и разместить две кнопки - Далее и Отмена. И при нажатии кнопки далее - перелистываить страницы в PageControl


Наверх

Титульная страница Поиск, карта сайта Написать письмо