Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2007, 18:49   #1
FAiver
Пользователь
 
Аватар для FAiver
 
Регистрация: 13.07.2007
Сообщений: 60
По умолчанию несколько форм?

Вот начинаю я работать на несколько форм как между ними переключатся я разобрался но меня интересует один момент: как закрыть первую форму? именно закрыть! и вторую сделать главной?
т.к. если просто спрятать первую форму то при попытке свернуть приложение оно сворачмвается не туда... т.е. над кнопкой пуск. а при попытке сделать Form1.Close закрывается всё приложение!
FAiver вне форума Ответить с цитированием
Старый 15.12.2007, 19:00   #2
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

а зачем именно скрывать главную форму и пользоватся дочерней ?
сделай то что нужно во 2 форме и показывай её а потом скрывай и оставляй 1-вую главную форму .
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 15.12.2007, 20:51   #3
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Попробуй Form1.hide; или Form1.free;
Точно неуверен.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 15.12.2007, 21:35   #4
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

ну или убирай ее за область монитора
Noor вне форума Ответить с цитированием
Старый 15.12.2007, 22:23   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Сообщение от SunKnight Посмотреть сообщение
Попробуй Form1.hide; или Form1.free;
Точно неуверен.
и какая по вашему реакция будет у приложения при попытке уничтожения главной формы ?
Цитата:
ну или убирай ее за область монитора
долго думал ?


Вариант 1.
Чтобы не главная формав сворачивалась на панель задач используй
type
TForm = class(TForm)
{...}
protected
procedure CreateParams(var Params: TCreateParams); override;
end;

implementation

{...}

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := GetDesktopWindow;
end;


применять метод hide к главной форме можно только при условии что есть активная видимая вторичная форма, т.е. вариант:
mainform.hide;
secondform.show;
некорректен и приведет к исключению, правильно:
secondform.show;
mainform.hide;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 15.12.2007, 22:58   #6
FAiver
Пользователь
 
Аватар для FAiver
 
Регистрация: 13.07.2007
Сообщений: 60
По умолчанию

разобрался всем спасибо... то что я хочу сделать не получится))) значит поменяю формы местами...
первую форму сделаю по дефлту скрытой а после того как управление будет передоватся на нее то вторая форма будет закрыватся.
FAiver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дизайнер форм Witaliy Общие вопросы Delphi 1 27.04.2008 14:50
Обработка форм igoist Помощь студентам 2 21.03.2008 22:23
Анимация форм Volkogriz Общие вопросы Delphi 5 20.11.2007 00:32
Общение форм Rapid Общие вопросы Delphi 9 17.11.2007 17:56
Несколько форм. Sargon Помощь студентам 23 15.09.2007 23:52