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

Вниз

Помогите с двумя формами   Найти похожие ветки 

 
Dr.Pipe   (2002-05-18 20:22) [0]

У меня имеются две формы. Form1 и Form2. Visible у обеих true.
При клике на кнопку на первой форме, открывается вторая, а первая прячется (Show, Hide). точно также и во второй (только прячется теперь вторая). Form1 - главная.
Мне нужно такое:

Form1.
if label1.caption="2" then
begin
Form2.SHow;
Form1.hide;
end;
if label1.caption="1" then
begin
Form1.Show;
Form2.Hide;
end;

Это у меня идёт по таймеру.
Label1.Caption у меня = "2" и при запуске программы должна скрыться первая форма и выскочить вторая. Но вся проблема в том, что сначала мелькает первая, а уже потом показывается вторая. Так вот, как это мелькание избежать?


 
Anatoly Podgoretsky   (2002-05-18 21:31) [1]

А как же иначе, последней у тебя показывается форма 1, перед этим она прячется, кратковременно показывается 2

Секрет успеха в операторе ELSE


 
copyr25   (2002-05-18 21:36) [2]

Программист сидит в кафешке. К нему подходит официантка и доверительно
говорит, - если хочешь хорошо провести время, то меня зовут Машей.
-- А если не хочу, то как тебя зовут?
(жизненный пример if .. then .. else:))


 
Dr.Pipe   (2002-05-18 21:37) [3]

2Anatoly Podgoretsky
>>А как же иначе, последней у тебя показывается форма 1, перед >>этим она прячется, кратковременно показывается 2

Да я ставил поначалу Form1.Hide а затем Form2.Show, но всё-равно не получается. Что такое не пойму!


 
Dr.Pipe   (2002-05-18 21:40) [4]

И вобще, ведь первая - главная. Она создаётся первой. Я уже её и Visible:=False ставил до загрузки - всё равно не помогает.


 
Song   (2002-05-18 21:59) [5]

Чтобы скрыть главную форму используют TApplication.ShowMainForm


 
Dr.Pipe   (2002-05-19 11:36) [6]

Писал так:

if form1.label1.caption="1" then
begin
Form2.hide;
Form1.Show;
end
else
begin
Form1.hide;
Form2.Show;
end;

Всё равно, пока выскочит вторая, мигает первая. Т.е. показывается первая и через пол-секунды она прячется и высвечивается вторая. Вот как сделать, чтобы первая в начале проверки не показывалась?


 
}{enon   (2002-05-19 12:39) [7]

Не совсем понял вопрос, но попробуй один из двух вариантов:
1)При необходимости ставь размер формы 0*0 (может быть долго)
2)Не используя if..then..else, пиши так:
Procedure TForm1.Button1Click (Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
Procedure TForm2.Button1Click (Sender: TObject);
begin
Form2.Hide;
Form1.Show;
end;


P.S. Может не подойти - тогда пиши!


 
Dr.Pipe   (2002-05-19 14:13) [8]

2}{enon
У меня процедура идёт при запуске программы по тамеру. Так что кнопки отпадают.


 
Dr.Pipe   (2002-05-19 15:29) [9]

Ну поможет кто?


 
VID   (2002-05-19 21:52) [10]

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm :=false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Label1.Caption = "2" then
begin
label1.caption := "1";
form1.Hide ;
form2.Show;
end
else
begin
label1.caption := "2";
form1.Show;
form2.Hide ;
end;
end;


 
VID   (2002-05-19 21:55) [11]

В свойстве Timer1.Enabled в Design-time не забудь указать TRUE, или можешь на событии onCreate объекта FORM1 написать Timer1.Enabled := true;


 
Dr.Pipe   (2002-05-20 16:36) [12]

2VID
Thanks



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

Форум: "Основная";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
14-97422
Hiks
2002-04-23 07:56
2002.05.30
Глючное железо?


1-97319
OlegBat
2002-05-18 10:05
2002.05.30
Где взять библиотеку RX для Delphi 6 ?


8-97353
VEG
2001-12-27 19:37
2002.05.30
Нужен компонент как TMediaPlayer.


3-97178
Besa
2002-05-08 09:37
2002.05.30
CONTAINING


1-97216
Kabal
2002-05-18 06:47
2002.05.30
Перенос строк в RadioGrup





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский