VR
Virtual Reality On-line   Delphi
Новости   |     Журнал    |    Хаkер   |     Магазин   |   Проекты
[   Вход    ]
[Kарта сайтa]
[ Download  ]
[  Конкурс  ]
[  Анекдоты ]
[  Ссылки   ]
[  Реклама  ]
[ Почтальон ]
[ О проекте ]






TopList
Создание окна мастера:

Сегодня я раскажу тебе, как можно создать простейшее и удобное окно мастера. В нём будет создано несколько панелей, каждая из которых будет содержать инфу для определённого шага и при выполнении панели будут просто сменять друг-друга.

Создай новый проект. Брось на форму две кнопки "Назад" и "Далее". Теперь положи на форму компонент TPanel c закладки "Standard", как показано на рисунке:

Logo

Установи на нём любые компоненты, а можешь просто сделать какую-нибудь надпись. Теперь брось на форму ещё одну панель. Её нужно поставить прямо над первой панелью. Если ты скачаешь пример в конце этой статьи и посмотришь его, то увидишь, что под панелями прячутся ещё панели, хотя на первый взгял их не видно.

Теперь создадим обработчик события OnShow для формы и напишем в нём следующее:

procedure TForm1.FormShow(Sender: TObject);
begin
 Panel1.Visible:=true;
 Panel2.Visible:=false;
 Panel3.Visible:=false;
end;

Здесь я делаю все панели невидимыми кроме первой. Теперь нам надо сделать так, чтобы по нажатии кнопки "Дальше" появлялась вторая панель, а затем третья. Для этого в обработчике события OnClick для кнопки "Далее" напишем:

procedure TForm1.Button1Click(Sender: TObject);
begin
 //Если видна первая панель, то сделать видимой вторую
 if Panel1.Visible=true then
  begin
   Panel1.Visible:=false;
   Panel2.Visible:=true;
   exit;
  end;

 //Если видна вторая панель, то сделать видимой первую
 if Panel2.Visible=true then
  begin
   Panel2.Visible:=false;
   Panel3.Visible:=true;
   exit;
  end;
end;

Теперь, то же самое, только для кнопки "Назад", чтобы мы могли двигатся в обратном порядке - от третей панели к первой. Для этого нужно обработать событие OnClick для кнопки "Назад":

procedure TForm1.Button2Click(Sender: TObject);
begin
 if Panel3.Visible=true then
  begin
   Panel3.Visible:=false;
   Panel2.Visible:=true;
   exit;
  end;

 if Panel2.Visible=true then
  begin
   Panel2.Visible:=false;
   Panel1.Visible:=true;
   exit;
  end;
end;

Вот и всё. Хотя я расскзал, как можно сделать мастер, такую подмену можно использовать везде. Главное понять смысл, а он прост, как секс :).

 Исходники примера забирай здесь


Copyright©: Horrific aka Флёнов Михаил
Design by FMk group©