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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
3-95206
nimble
2002-07-05 08:18
2002.07.29
Запрос


1-95319
olookin
2002-07-15 16:07
2002.07.29
Перечисление констант


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


1-95304
Digi
2002-07-17 04:15
2002.07.29
перехватывание сообщений


14-95557
AlexLumpov
2002-07-03 21:50
2002.07.29
Как уменьшить rtl60.bpl





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