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

Вниз

Wizard creation   Найти похожие ветки 

 
corvinalive ©   (2002-06-30 11:32) [0]

Есть ли встроенная поддержка Wizard"ов в VCL
(напр. страницы TPageControl показываются по порядку)


 
kaif ©   (2002-06-30 14:16) [1]

Есть великолепный бесплатный компонент KWizard для этого. Где скачать - не помню. Сам поищи. Супервещь.


 
Юрий Зотов ©   (2002-06-30 18:49) [2]

Дык... а что, это очень сложно сделать самому? Кинуть на форму PageControl и две кнопки, а в обработчиках кнопок переключать TabVisible на предыдущую/следующую.

Пишется аж за целых пять минут, или даже еще быстрее. И получится великолепный бесплатный Wizard. А если оформить в виде фрейма, то получится великолепный бесплатный компонент.

Супервещь. И искать ничего не надо.


 
kaif ©   (2002-06-30 19:35) [3]

Не совсем так. Я в свое время сам писал по той схеме, что Вы предлагаете, но оказалось, что проверка всех возможных состояний, присвоение Enabled/Disabled кнопке Next на каждой фазе - весьма запутывает и можно провозиться несколько часов, пока добьешься того, чтобы все это работало, как надо.(хотя пишется за 5 минут, но отлаживается долго). А класс TKWizard устроен так, что именно эти вещи там продуманы. Я не просто так советую. Посмотрите сами этот компонент и Вы убедитесь, что я прав. Хотя Вы по-своему правы, но лишь потому, что не видели компонент, о котором я говорю.


 
Юрий Зотов ©   (2002-06-30 21:41) [4]

Я видел аналогичные компоненты (например, пакет Youseful). И видел их код, поэтому смело могу Вас уверить, что писали их отнюдь не новички. Исходя их этого, полагаю, что вряд ли TKWizard написан существенно лучше, чем его аналоги.

И все же я отказался от их использования - как раз по той причине, о которой Вы говорите. Ни один компонент не может лучше меня знать, какие особенности имеет моя конкретная задача, когда мне надо разрешить/запретить кнопку, "перепрыгнуть" через одну или несколько страниц вперед/назад и т.д. В лучшем случае он даст мне запрос в виде события, но код обработчика я все равно должен буду написать сам.

А в таком случае использование компонента теряет всякий смысл. Потому что тот же самый код можно спокойно написать в обработчике TAction.OnUpdate и/или Application.OnIdle. И все проблемы.

И если я хорошо представляю себе логику задачи, то делается это очень быстро, а отладки вообще практически не требует (что там отлаживать? несколько простейших if и/или case?).

А если я плохо представляю себе логику задачи, то никакой компонент меня не спасет. Потому что думать за меня он все равно не сможет.


 
kaif ©   (2002-07-01 00:13) [5]

>2 Юрий Зотов © (30.06.02 21:41)
Совершенно согласен и подпишусь под любым Вашим доводом!
И все же позвольте я попрагандирую немного тот компонент, о котором идет речь. Представьте себе:
1. Выбираете компонет на палитре.
2. Щелкаете мышью на форме и она уже превратилась в Wizard. С помощью контекстного меню добавляете новые Pages.
3. Между страницами в Design time перемещаетесь с помощью кнопок Next, Previous, которые работают уже как кнопки Wizard-а.
4. Выбрав таким образом любую страницу, в Object Inspector устанавливаете свойства этой страницы (заголовок, подзаголовок картинка слева, если нужно, флаги видимости и enable-ости на данной странице всех навигационных кнопок - Previous, Next, Finish, Help, Cancel и их Cption-ы на этой странице). И на каждой странице можно назначить свои независимые обработчики событий для каждой кнопки.
Важно, что без всякого Help сразу понимаешь, как всем этим пользоваться.
-----------
Я очень редко прибегаю к использованию чужих компонентов, если без этого можно обойтись. Но этот компонент заслуживает того, чтобы на него взглянуть. К тому же он поставляется бесплатно с исходным кодом, который вовсе не так тривиален, как можно было бы подумать.
-----
С пакетом Youseful не работал. Сравнить не могу.
Извините меня за мою настырность. Но компонент слишком хорош, чтобы о нем ничего не знать. Кстати, я его получил в очередной рассылке с данного форума.



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

Текущий архив: 2002.07.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
8-95459
novom
2002-03-09 23:09
2002.07.29
Эквалайзер.


3-95233
федя
2002-07-09 06:24
2002.07.29
Помогите новичку


1-95421
Grrey
2002-07-16 09:42
2002.07.29
Алгоритмы подсчета контрольной суммы


1-95447
dimanew
2002-07-17 04:45
2002.07.29
Как создать динамич. массив TEditов?


14-95506
Olgerd
2002-06-29 14:09
2002.07.29
Bad sectors