Необходимо создать диалог,как например в инсталяционном файле,т.е
пользователь выберает какую-нибудь опцию и кликает next, затем в
том же окне отображаются иные компоненты.
Решил всё это сделать с помощью TPageControl , т.е создал несколько
закладок,установил всем TabVisible в False...
Но есть проблема — мне не надо чтоб у компонента была рамка,т.е. мне
нужно чтобы PageControl сливался с Form'ой.
Может диалоги делаются с помощью других компонентов?
Hello, tormentor!
You wrote on Wed, 04 May 2005 14:43:41 GMT:
t> Необходимо создать диалог,как например в инсталяционном файле,т.е t> пользователь выберает какую-нибудь опцию и кликает next, затем в том t> же окне отображаются иные компоненты. t> Решил всё это сделать с помощью TPageControl , т.е создал несколько t> закладок,установил всем TabVisible в False... t> Но есть проблема — мне не надо чтоб у компонента была рамка,т.е. мне t> нужно чтобы PageControl сливался с Form'ой. t> Может диалоги делаются с помощью других компонентов?
Навскидку: поставь Style в tsButtons или tsFlatButtons тебе же вкладки не показывать
Как вариант могу предложить использовать фреймы и создавать их ручками, чтобы не путаться со всеми действиями в одном модуле.
Еще глянь на готовое решение под названием balmsoft wizard, может понравится....
Здравствуйте, wildwind, Вы писали:
W>Style := tsButtons это оптимальный вариант для визардов.
Нет в том то и дело мне не нужно чтоб отображались кнопки
мне надо чтоб пользователь нажал TButton и в том-же окне отобразилась
другая закладка как в программах инсталяции...
Здравствуйте, tormentor, Вы писали:
T>Необходимо создать диалог,как например в инсталяционном файле,т.е T>пользователь выберает какую-нибудь опцию и кликает next, затем в T>том же окне отображаются иные компоненты. T>Решил всё это сделать с помощью TPageControl , т.е создал несколько T>закладок,установил всем TabVisible в False... T>Но есть проблема — мне не надо чтоб у компонента была рамка,т.е. мне T>нужно чтобы PageControl сливался с Form'ой. T>Может диалоги делаются с помощью других компонентов?
Кидаешь на форму панель и PageControl.Панель делаешь bottom, а PageControl alClient,у всех TabSheet'ов ставишь TabVisible=false.На панель кидаешь кнопки которые тебе надо и по нажатии на них показываешь ту или иную закладку.Можно ещё добавить панель слева и на ней отображать дополнительную инфу в ходе установке(картинку или ещё какую инфу).
Здравствуйте, tormentor, Вы писали:
T>Необходимо создать диалог,как например в инсталяционном файле,т.е T>пользователь выберает какую-нибудь опцию и кликает next, затем в T>том же окне отображаются иные компоненты. T>Решил всё это сделать с помощью TPageControl , т.е создал несколько T>закладок,установил всем TabVisible в False... T>Но есть проблема — мне не надо чтоб у компонента была рамка,т.е. мне T>нужно чтобы PageControl сливался с Form'ой. T>Может диалоги делаются с помощью других компонентов?
Готовое решение:
Кнопка Next иметт свойство Tag = 1, у кнопок Next и Back один обработчик — btnNextClick
void __fastcall TFormAZCloseWzd::FormCreate(TObject *Sender)
{
// Переходим на первую табу
PageControl->ActivePageIndex = 0;
}
//---------------------------------------------------------------------------void __fastcall TFormAZCloseWzd::btnNextClick(TObject *Sender)
{
BOOL tabConfirm = 1;
if (((TButton*)Sender)->Tag) // Если переходим впередswitch (PageControl->ActivePageIndex + 1)
{
case 0:
break;
case 1:
// Во время перехода на шаг 2break;
// И так далее...
// Если нужно отменить переход, выставляем tabConfirm = 0;default:
break;
}
if (tabConfirm)
PageControl->SelectNextPage(((TButton*)Sender)->Tag, 0);
btnBack->Enabled = PageControl->ActivePageIndex;
btnNext->Enabled = PageControl->PageCount - PageControl->ActivePageIndex - 1;
// Готово?if (PageControl->ActivePageIndex == PageControl->PageCount - 1)
btnComplete->Enabled = TRUE;
else
btnComplete->Enabled = FALSE;
}
//---------------------------------------------------------------------------
Здравствуйте, tormentor, Вы писали:
W>>Style := tsButtons это оптимальный вариант для визардов. T>Нет в том то и дело мне не нужно чтоб отображались кнопки
Ну и не показывай их.