Диалоги
От: tormentor  
Дата: 04.05.05 14:43
Оценка:
Необходимо создать диалог,как например в инсталяционном файле,т.е
пользователь выберает какую-нибудь опцию и кликает next, затем в
том же окне отображаются иные компоненты.
Решил всё это сделать с помощью TPageControl , т.е создал несколько
закладок,установил всем TabVisible в False...
Но есть проблема — мне не надо чтоб у компонента была рамка,т.е. мне
нужно чтобы PageControl сливался с Form'ой.
Может диалоги делаются с помощью других компонентов?
Re: Диалоги
От: Diouzshev Россия  
Дата: 04.05.05 15:05
Оценка:
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, может понравится....

With best regards, Alexander Diouzshev-Maltsev.
Posted via RSDN NNTP Server 1.9
Re: Диалоги
От: Sergei I. Gorelkin Россия  
Дата: 04.05.05 15:10
Оценка:
Здравствуйте, tormentor, Вы писали:

<skipped>

Можно посмотреть в сторону TNotebook
Re: Диалоги
От: wildwind Россия  
Дата: 04.05.05 15:28
Оценка:
Здравствуйте, tormentor, Вы писали:

Style := tsButtons это оптимальный вариант для визардов.
Re[2]: Диалоги
От: tormentor  
Дата: 04.05.05 15:59
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Style := tsButtons это оптимальный вариант для визардов.



Нет в том то и дело мне не нужно чтоб отображались кнопки
мне надо чтоб пользователь нажал TButton и в том-же окне отобразилась
другая закладка как в программах инсталяции...
Re[2]: Диалоги
От: tormentor  
Дата: 04.05.05 16:01
Оценка:
Здравствуйте, Sergei I. Gorelkin, Вы писали:

SIG>Можно посмотреть в сторону TNotebook


В точку! Именно то что нужно! Спасибо.
Re[2]: Диалоги
От: linker Россия  
Дата: 05.05.05 04:50
Оценка:
Здравствуйте, Sergei I. Gorelkin, Вы писали:

SIG>Здравствуйте, tormentor, Вы писали:


SIG><skipped>


SIG>Можно посмотреть в сторону TNotebook



Кстати TNoteBook это устаревший компонент оставленный для совместимости,рекомендуется использовать TPageControl.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Диалоги
От: linker Россия  
Дата: 05.05.05 04:54
Оценка:
Здравствуйте, tormentor, Вы писали:

T>Необходимо создать диалог,как например в инсталяционном файле,т.е

T>пользователь выберает какую-нибудь опцию и кликает next, затем в
T>том же окне отображаются иные компоненты.
T>Решил всё это сделать с помощью TPageControl , т.е создал несколько
T>закладок,установил всем TabVisible в False...
T>Но есть проблема — мне не надо чтоб у компонента была рамка,т.е. мне
T>нужно чтобы PageControl сливался с Form'ой.
T>Может диалоги делаются с помощью других компонентов?

Кидаешь на форму панель и PageControl.Панель делаешь bottom, а PageControl alClient,у всех TabSheet'ов ставишь TabVisible=false.На панель кидаешь кнопки которые тебе надо и по нажатии на них показываешь ту или иную закладку.Можно ещё добавить панель слева и на ней отображать дополнительную инфу в ходе установке(картинку или ещё какую инфу).
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Диалоги
От: crackoff Россия  
Дата: 05.05.05 06:56
Оценка:
Здравствуйте, 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:
        // Во время перехода на шаг 2
        break;
                
            // И так далее... 
            // Если нужно отменить переход, выставляем 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;
}
//---------------------------------------------------------------------------
... << RSDN@Home 1.1.4 beta 6a rev. 436> <под Theatre Of Tragedy — Automatic Lover>>
Re[3]: Диалоги
От: wildwind Россия  
Дата: 05.05.05 08:28
Оценка:
Здравствуйте, tormentor, Вы писали:

W>>Style := tsButtons это оптимальный вариант для визардов.

T>Нет в том то и дело мне не нужно чтоб отображались кнопки
Ну и не показывай их.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.