Сегодня я раскажу тебе, как можно создать простейшее и удобное окно мастера.
В нём будет создано несколько панелей, каждая из которых будет содержать инфу
для определённого шага и при выполнении панели будут просто сменять друг-друга.
Создай новый проект. Брось на форму две кнопки "Назад" и "Далее". Теперь
положи на форму компонент TPanel c закладки "Standard"
Установи на нём любые компоненты, а можешь просто сделать какую-нибудь
надпись. Теперь брось на форму ещё одну панель. Её нужно поставить прямо над
первой панелью. Если ты скачаешь пример в конце этой статьи и посмотришь его, то
увидишь, что под панелями прячутся ещё панели, хотя на первый взгял их не видно.
Теперь создадим обработчик события 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;
Вот и всё. Хотя я расскзал, как можно сделать мастер, такую подмену можно
использовать везде. Главное понять смысл, а он прост, как секс :).
|