Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Функции Show и Hide


Danco ©   (2009-12-16 08:05:00) 

begin
Form2.Hide;
Form1.Show;
end;


Компилирую на студии 2010 с опер. системой windows 7.

При выполннии этого кода приложение пропадает с панели задач, какая этому может быть причина? Или есть другой способ выполнения этой задачи?

Спасибо :)


brother   (2009-12-16 11:11:00) [1]

ну, бум знать...


Danco   (2009-12-16 10:13:00) [2]


> а откуда мы знали, что ты там поставил ее?

Я ее не ставил, в самом начале когда задавал вопрос говорил, что работаю на студии 2010, а там эта строка автоматически стоит.

P.S. Я тоже этого не знал пока не посмотрел :)


brother   (2009-12-16 09:44:00) [3]

> //Application.MainFormOnTaskbar := True;

а откуда мы знали, что ты там поставил ее?


Danco   (2009-12-16 09:36:00) [4]

Полез глубже и оказалось в главном модуле проекта стоит убрать вторую строку

Application.Initialize;
//Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;


И код Form1.Hide; Form2.Show;отлично работает!


Danco   (2009-12-16 09:02:00) [5]

И еще раз нет, поторопился с выводами, немного некорректно работает.

Но можно прозрачность первой формы до 0 поставить и ее будет не видно, коряво, противно, но работает )))


Danco   (2009-12-16 08:57:00) [6]

Разабрался методом тыка, код стоит поменять на

procedure TForm2.Button1Click(Sender: TObject);
begin
form1.DoHide;
form2.Show;
end;


Всем спасибо! :)


brother   (2009-12-16 08:52:00) [7]

> может ReadOnly отключить как-нибудь?

нет


Danco   (2009-12-16 08:46:00) [8]


> в D7 кстати такого нет.

Раньше работал на D6 тоже все отлично было, может быть это еще из-за системы, т.к. в Win7 панель задач не стандартная.


> Свойство MainForm у объекта Application ReadOnly но пошаманить
> можно


Каким образом?

Application.MainFormHandle := Form2.Handle;

Этот код запрещает, может ReadOnly отключить как-нибудь?


DVM   (2009-12-16 08:37:00) [9]


> Danco ©   (16.12.09 08:34) [5]

в D7 кстати такого нет.


> и задать Form2 главной?

Свойство MainForm у объекта Application ReadOnly но пошаманить можно.


Danco   (2009-12-16 08:34:00) [10]

Я так понимаю, что скрывается из панели задач потому что Form1 главная форма, может быть в запущенном преложении можно поменять приоритет форм и задать Form2 главной?


Danco   (2009-12-16 08:30:00) [11]

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;

При нажатии кнопки, Form1 исчезает из панели задач,появляеться Form2,но Form2 не отображается в панели задач, внизу.Просто весит форма на экране.

Как сделать что бы приложение отображалась в панели задач?


DVM   (2009-12-16 08:29:00) [12]

procedure TForm1.Button1Click(Sender: TObject);
begin
 form2.show;
 form1.Hide;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
 form1.show;
 form2.Hide;
end;


Danco   (2009-12-16 08:18:00) [13]

При нажатии на кнопку показать 2ю форму, а 1ю скрыть, но методом hide прилежение скрывается с панели задач :(


DVM   (2009-12-16 08:14:00) [14]


>  Или есть другой способ выполнения этой задачи?

Какой задачи? Чего ты хочешь добиться?


Наверх

Титульная страница Поиск, карта сайта Написать письмо