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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2010, 07:23   #1
PHP&DELPHI_User
 
Регистрация: 03.10.2010
Сообщений: 9
По умолчанию Скрыть форму при запуске приложения

Друзья! Не могу понять почему не работает код:

Код:
ShowWindow(Handle, SW_HIDE);
ShowWindow(Application.Handle, SW_HIDE);
Ставил на событие формы OnActivate и OnShow
форма все равно показывается, а вот когда по Button'у кликаю

Код:
procedure TForm1.Button6Click(Sender: TObject);
begin
ShowWindow(Handle, SW_HIDE);
ShowWindow(Application.Handle, SW_HIDE);
end;
все работает. Почему?
PHP&DELPHI_User вне форума Ответить с цитированием
Старый 09.10.2010, 07:29   #2
PHP&DELPHI_User
 
Регистрация: 03.10.2010
Сообщений: 9
По умолчанию

событие onActivate формы ваще ведет себя по странному: иногда происходит его активация просто при приобретении формой фокуса, а иногда событие происходит только в случае, когда форма становится видимой
PHP&DELPHI_User вне форума Ответить с цитированием
Старый 09.10.2010, 09:07   #3
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

В OnShow бесполезно скрывать форму, т.к. это событие вызывается из DoShow предка формы, где после опять же вызывается ShowWindow. А поскольку свойство WindowState вашей формы установлено, скорее всего, в wsNormal, то это и приводит к ее появлению. Для OnActivate похожая песня.

Проще (если надо) делать так:
Код:
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.ShowMainForm := false;
  Application.Run;
end.
После этого уже все - форма без признаков жизни. Разве только диспетчер задач поможет.
Скандербег вне форума Ответить с цитированием
Старый 10.10.2010, 04:53   #4
PHP&DELPHI_User
 
Регистрация: 03.10.2010
Сообщений: 9
По умолчанию

Попробывал, тоже не работает, все равно форму видно и на панели тоже
PHP&DELPHI_User вне форума Ответить с цитированием
Старый 10.10.2010, 05:07   #5
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

У меня прекрасно работает. Форму не видно и на панели тоже не видно. Только в процессах болтается.
В каком месте проекта "попробывал"? Привести код можно?
Скандербег вне форума Ответить с цитированием
Старый 10.10.2010, 15:50   #6
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

В OnCreate пиши.Все рабит
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 10.10.2010, 16:40   #7
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
По умолчанию

Вот так будет
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.ShowMainForm := False; // <== без неё не захочет
 ShowWindow(Handle, SW_HIDE);
 ShowWindow(Application.Handle, SW_HIDE);
end;
Alter вне форума Ответить с цитированием
Старый 10.10.2010, 17:22   #8
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Делай как сказал Скандерберг, только ты пиши эти строчки в сам проект (Project->View Source это меню delphi)
ну сразу предупрежу что антивирусник видит эту строчку
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 10.10.2010, 22:05   #9
glGizma
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 49
По умолчанию

Код:
    form1.Visible := False;
    ShowWindow(Application.Handle,SW_HIDE);
glGizma вне форума Ответить с цитированием
Старый 10.10.2010, 23:34   #10
Кинельски
Форумчанин
 
Регистрация: 10.03.2010
Сообщений: 109
По умолчанию

А visible=false не катит?
Кинельски вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при запуске приложения -=pasha=- Общие вопросы Delphi 10 07.07.2010 13:46
При запуске спрятать форму Polotenchik Общие вопросы Delphi 11 07.08.2009 02:14
Как скрыть главную форму сразу при запуске программы SibBear Общие вопросы Delphi 15 19.03.2009 23:50
Скрыть форму при запуске GAGARIN-NEW Общие вопросы Delphi 8 14.11.2007 17:51