Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
В л а д и м и р ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
3-1081830855
Sens
2004-04-13 08:34
2004.04.11
Помогите вычислить промежуток времени между двумя записями в базе


3-1081768959
GDR
2004-04-12 15:22
2004.04.11
Как найти различия в данных 2 таблиц


14-1079174367
Undert
2004-03-13 13:39
2004.04.11
Вопрос не в тему


14-1081913061
User_OKA
2004-04-14 07:24
2004.04.11
WinXP


9-1065523303
Иван.
2003-10-07 14:41
2004.04.11
ИСХОДНИК.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский