Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрыть главну форму 
:(
    Опции темы
think
Дата 1.6.2008, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 12.5.2008

Репутация: нет
Всего: нет



Может мой вопрос покажется слегка глупым, но у меня никак не получается это сделать. Значит, есть две формы Form1 и Form2. Из них главная Form1. Нужно, что бы при старте программы Form1 не запускалась (или была невидима), а Form2 запускалась. При этом не должно возникнуть таких скачков, как возникновение главной формы и её исчезновение (проще говоря - мелькание формы), чего очень не любят. Поменять же их местами и сделать главную Form2 в данном случае не выйдет. Спасибо.
PM MAIL   Вверх
Burka
Дата 1.6.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Project -> Options -> Forms -> "Form1" [>]  [Available forms]  smile 


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
valentos
Дата 1.6.2008, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



мда)
Вкладка Project/option/Forms, там есть поле Auto-Create Form. Если у тебя 2 формы, то там будет написано Form1 и Form2. Берешь Form2 и ставишь первее Form1. Теперь первой будет создаватся Form2

Добавлено через 2 минуты и 4 секунды
Цитата(Burka @ 1.6.2008,  23:03)
Project -> Options -> Forms -> "Form1" [>]  [Available forms]  smile

Это не правильно. Так вы удаляете форму1 из автосоздоваеммых. Потом чтобы открыть ее придется создать вручную! smile 
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
think
Дата 1.6.2008, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 12.5.2008

Репутация: нет
Всего: нет



Цитата(valentos @ 1.6.2008,  23:06)
мда)
Вкладка Project/option/Forms, там есть поле Auto-Create Form. Если у тебя 2 формы, то там будет написано Form1 и Form2. Берешь Form2 и ставишь первее Form1. Теперь первой будет создаватся Form2

Добавлено @ 23:08
Цитата(Burka @ 1.6.2008,  23:03)
Project -> Options -> Forms -> "Form1" [>]  [Available forms]  smile

Это не правильно. Так вы удаляете форму1 из автосоздоваеммых. Потом чтобы открыть ее придется создать вручную! smile

Не выйдет! Если поставить вторую форму выше, она станет главной! Мне не нужно, что бы она была главной.
PM MAIL   Вверх
valentos
Дата 1.6.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



Ну тогда самое простое поставь у Form1 свойство AlphaBlend в True a AlphaBlendValue в 0 
и пропиши
Код

procedure TForm1.FormShow(Sender: TObject);
begin
Form2.Show;
end;

Только при зыкрытии программы незабывай закрывать и Form1

Это сообщение отредактировал(а) valentos - 1.6.2008, 23:28
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
mr.Anderson
Дата 1.6.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Народ... Я либо чего-то не понимаю, либо вам просто лень ответить, т.к. я сомневаюсь, чтобы вы не знали простого ответа на этот простой вопрос. smile

think, если обе формы прописаны как автосоздаваемые (Available), то посади на первую форму кнопку (TButton), по клику на нее пропиши:
Код

 Form2.Show();
 Form1.Hide();

У второй формы на событие OnClose() пропиши:
Код

 Form1.Show();

Собственно, все...


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
think
Дата 1.6.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 12.5.2008

Репутация: нет
Всего: нет



Цитата(mr.Anderson @ 1.6.2008,  23:28)
Народ... Я либо чего-то не понимаю, либо вам просто лень ответить, т.к. я сомневаюсь, чтобы вы не знали простого ответа на этот простой вопрос. smile

think, если обе формы прописаны как автосоздаваемые (Available), то посади на первую форму кнопку (TButton), по клику на нее пропиши:
Код

 Form2.Show();
 Form1.Hide();

У второй формы на событие OnClose() пропиши:
Код

 Form1.Show();

Собственно, все...

Скорее всего ты не так понял. Никакой кнопки быть не должно, первая форма вообще не должна появляться, хотя она должна присутствовать (событие OnCreate должно быть) и ещё оставаться главной! Это всё делается при запуске.
Не очень то просто, не так ли?
PM MAIL   Вверх
valentos
Дата 1.6.2008, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



Цитата(mr.Anderson @  1.6.2008,  23:28 Найти цитируемый пост)
think, если обе формы прописаны как автосоздаваемые (Available), то посади на первую форму кнопку (TButton), по клику на нее пропиши:


Цитата(think @  1.6.2008,  22:44 Найти цитируемый пост)
Нужно, что бы при старте программы Form1 не запускалась (или была невидима), а Form2 запускалась

Воть))

Цитата

она должна присутствовать (событие OnCreate должно быть) и ещё оставаться главной! Это всё делается при запуске.
Не очень то просто, не так ли?

блин...
Цитата

Ну тогда самое простое поставь у Form1 свойство AlphaBlend в True a AlphaBlendValue в 0 
и пропишикод Pascal/Delphi

Код

  procedure TForm1.FormShow(Sender: TObject);
begin
Form2.Show;
end;



Только при зыкрытии программы незабывай закрывать и Form1

оч просто)

Это сообщение отредактировал(а) valentos - 1.6.2008, 23:45
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
mr.Anderson
Дата 1.6.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



think, можешь описать ситуацию, когда это необходимо? Наверняка можно сделать как-то по-другому.

Но если совсем невтерпеж, то это не "не очень то просто", а совсем просто. Безо всяких AlphaBlend'ов, его включение не всегда желательно. 

Создаешь проект, к нему вторую форму, все сохраняешь.
Лезем в файл проекта, код меняем на такой:
Код

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

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

Усе.

Это сообщение отредактировал(а) mr.Anderson - 1.6.2008, 23:49


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
valentos
Дата 1.6.2008, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



Цитата(mr.Anderson @  1.6.2008,  23:46 Найти цитируемый пост)
код Pascal/Delphi
program Project1;
uses  Forms,
  Unit1 in 'Unit1.pas' {Form1}, 
 Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin 
 Application.Initialize; 
 Application.MainFormOnTaskbar := True;
 // Application.CreateForm(TForm1,Form1);
  Application.CreateForm(TForm2, Form2);  
Application.Run;
end.  
 


Цитата(think @  1.6.2008,  23:10 Найти цитируемый пост)
Мне не нужно, что бы она была главной.

 
а ты выкидываешь из автосоздания, тем самым делая форму 2 главной)))

Это сообщение отредактировал(а) valentos - 1.6.2008, 23:55
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
mr.Anderson
Дата 1.6.2008, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



valentos, гм, пожалуй. Тогда без AlphaBlend'ов мне большей мыслей в голову не приходит никаких...

И все же очень интересно услышать, где могли потребоваться подобные извращения.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
valentos
Дата 1.6.2008, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



Цитата(mr.Anderson @  1.6.2008,  23:55 Найти цитируемый пост)
Тогда без AlphaBlend'ов мне большей мыслей в голову не приходит никаких...

Мне тож непришло ничего))

Цитата(mr.Anderson @  1.6.2008,  23:55 Найти цитируемый пост)
 интересно услышать, где могли потребоваться подобные извращения.


think, поясни нам smile 
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
think
Дата 2.6.2008, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 12.5.2008

Репутация: нет
Всего: нет



Цитата(mr.Anderson @ 1.6.2008,  23:55)
valentos, гм, пожалуй. Тогда без AlphaBlend'ов мне большей мыслей в голову не приходит никаких...

И все же очень интересно услышать, где могли потребоваться подобные извращения.

Значит, есть проект, у которого есть защита smile . Она представляет собой форму введения пароля. Если программа была запущена впервые и пароль не был введён, она запрашивает пароль (это вторая НЕ ГЛАВНАЯ форма). Если же пароль был введён, то при запуске программы, вторая форма должна проверить коректность пароля и не отображаться. Может, как-нибудь можно её по другому решить?
PM MAIL   Вверх
mr.Anderson
Дата 2.6.2008, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



think, такие вещи я обходил, просто делая форму ввода пароля главной. И все. Мне, в общем-то, было все равно, какую форму главной считать.

Вообще, тут еще вариант. Открой главную форму, а форму с паролем отобрази как модальную (ShowModal()), тогда главная форма будет недоступна до ввода корректного пароля.

И этот вариант был бы лучшим в данном случае. Вышеперечисленные извраты - это именно извращение. Причем избирательное извращение. Обойди одним из указанных методов.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
think
Дата 2.6.2008, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 12.5.2008

Репутация: нет
Всего: нет



Если сделать форму ввода пароля главной (как собственно я и сделал), то как мне не отображать при запуске главную форму, если пароль уже был введён и он корректен?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0988 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.