Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Модальные формы   Найти похожие ветки 

 
В л а д и м и р ©   (2004-03-23 18:17) [0]

У меня три формы (пусть будет Form1, Form2, Form3). Работа начинается с первой, которая открывается как модальная, потом по кнопке Далее осуществляется переход ко второй, а затем и к третьей формам (открываются как модальные)... Вопрос: как по клику Далее сделать так, чтобы каждая предыдущая форма исчезала, а по достижении последней Form3, нажав кнопку Повторить, появлялась бы 1-я форма и весь процесс начинался бы сначала. Я каждую последующую форму скрывал методом Hide, но когда нажималась кнопка Повторить, выскакивало сообщение ,что нельзя открыть visible modal form... И свойство visible в false устанавливал и метод close использовал, но получалось так, что все три формы закрывались только при закрытии последней третьей Если Вы дошли до конца вопроса, то подскажите, Как быть?


 
Fay ©   (2004-03-23 18:20) [1]

А нельзя испольковать одну форму?


 
В л а д и м и р ©   (2004-03-23 18:25) [2]

Это получается, что у меня на одной будет и кнопка Обзор со строкой пути к файлу, и индикатор загрузки считывания данных и анимированный ролик загрузки, и отчет о загрузке... Выходит, что на одну форму все это выложить и в свое время делать невидимым... Это рационально или это обычная практика? В принципе, я об этом варианте думал, но по-моему это не очень правильно что ли...


 
Oyster ©   (2004-03-23 18:27) [3]

А если сделать формы не модальными? И еще: при появлении этой гадости можно нажать F1 и внимательно изучить содержимое.


 
Oyster ©   (2004-03-23 18:29) [4]


> Это получается, что у меня на одной будет и кнопка Обзор
> со строкой пути к файлу, и индикатор загрузки считывания
> данных и анимированный ролик загрузки, и отчет о загрузке...
> Выходит, что на одну форму все это выложить и в свое время
> делать невидимым... Это рационально или это обычная практика?
> В принципе, я об этом варианте думал, но по-моему это не
> очень правильно что ли...

Между прочим, это - самый экономный вариант со всех точек зрения.


 
guest_Dmitry   (2004-03-23 18:37) [5]

>В л а д и м и р ©   (23.03.04 18:17)

ModalResult := mrOk?


 
Fay ©   (2004-03-23 18:38) [6]

>> но по-моему это не очень правильно что ли...
Ну вот ты на форуме с вопросом. Это правильно?


 
В л а д и м и р ©   (2004-03-23 18:44) [7]

>ModalResult := mrOk?

Про окей не пробовал, а про mrCansel было - не помогло.. А вот если кто знает, скажите, в обычных программах (например инсталляции) последовательность смены содержимого в форме происходит в одной форме или одна форма сменяет другую?


 
Oyster ©   (2004-03-23 18:50) [8]


> А вот если кто знает, скажите, в обычных программах (например
> инсталляции) последовательность смены содержимого в форме
> происходит в одной форме или одна форма сменяет другую?

Стопудово в одной форме и даже, скорее всего, компоненты по мере надобности создаются и уничтожаются.


 
В л а д и м и р ©   (2004-03-23 18:53) [9]

ок, попробуем в одной форме... Всем участникам огромное спасибо за внимание!!!


 
Юрий Зотов ©   (2004-03-23 19:13) [10]

> Если Вы дошли до конца вопроса, то подскажите, Как быть?

Положить на ОДНУ форму PageControl, создать на нем 3 страницы, а все остальное наложить на них. И просто переключать страницы.


 
TUser ©   (2004-03-23 19:43) [11]

Вау. Самому интересно стало. Попробовал - прокатила вот такая конструкция. В проекте пишем
program Project1;

uses
 Forms, Controls,
 Unit1 in "Unit1.pas" {Form1},
 Unit2 in "Unit2.pas" {Form2},
 Unit3 in "Unit3.pas" {Form3};

{$R *.res}

var
 f:boolean;

begin
 Application.Initialize;
 Form1:=TForm1.Create(Application);
 Form2:=TForm2.Create(Application);
 Form3:=TForm3.Create(Application);
 Application.Run;
 f:=true;
 while f do begin
    form1.ShowModal;
    f:=form1.ModalResult = mrOK;
    if f then begin
       form2.ShowModal;
       f:=form2.ModalResult = mrOK;
       if f then begin
          form3.ShowModal;
          f:=form3.ModalResult = mrOK;
          end;
       end;
    end;
end.

На каждой форме - кнопочка. У нее ModalResult = mrOK. Вот так это все работает ...



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.029 c
4-1075186164
barby
2004-01-27 09:49
2004.04.11
отловить нетсенд


9-1070862678
Kair
2003-12-08 08:51
2004.04.11
Фигуры


11-1068747888
miek
2003-11-13 21:24
2004.04.11
Отличить KOL от VCL


1-1082308700
Relaxxx
2004-04-18 21:18
2004.04.11
Очень хочу нацчится делать коасивое меня, в стиле OfficeXP


11-1059679707
Dimaxx
2003-07-31 23:28
2004.04.11
TDrawState для ListView и ListBox