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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2007, 21:27   #1
londoner
Пользователь
 
Регистрация: 03.02.2007
Сообщений: 20
По умолчанию Как сделать главную форму невидимой

Сразу извиняюсь за глупый вопрос, но чёт я сам не доезжаю. Я её скрываю методом Form.Hide, реагирующим на событие FormPaint. При таком способе при запуске проги форма "мелькает", то есть появляется и тут же исчезает. Как можно избежать "мелькания"?
londoner вне форума Ответить с цитированием
Старый 05.02.2007, 22:10   #2
Softovick
Пользователь
 
Аватар для Softovick
 
Регистрация: 22.01.2007
Сообщений: 52
По умолчанию

Во первых Form.OnPaint вызывается при прорисовке формы... Вообще в каком конкретном случае нужна невидимость формы? И что за невидимость, просто скрыть? Может просто свернуть в трей? типа Minimize
Delphi & LMD & RXLib / VBA / Windows / Linux...
Softovick вне форума Ответить с цитированием
Старый 05.02.2007, 22:18   #3
londoner
Пользователь
 
Регистрация: 03.02.2007
Сообщений: 20
По умолчанию

Мне нужно, чтобы при запуске программы главная форма не отображалась. Ни минимизированая, ни как окно. А Form.OnPaint я использую потому, что при при создании главной формы поле Visible становится True, так что менять его на false возможно только после того, как форма создана, как я понимаю. В этом то и суть вопроса, какой метод использовать или на какое событие он должен реагировать, чтобы форма не отображалась.
londoner вне форума Ответить с цитированием
Старый 05.02.2007, 22:27   #4
londoner
Пользователь
 
Регистрация: 03.02.2007
Сообщений: 20
По умолчанию

Может возможно использовать консольное приложение, или какое-нибудь другое, не использующее форму? Если можно, то плз подскажите какое? Я в свое проге не использую визуальных компонентов, тока таймер.
londoner вне форума Ответить с цитированием
Старый 05.02.2007, 22:31   #5
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

Попробуй так:

Код:
procedure TForm1.FormActivate(Sender: TObject);
begin
  ShowWindow(Application.Handle, SW_HIDE);
  ShowWindow(Form1.Handle, SW_HIDE);
end;
провда всё равно мелькает меред скрытием
Umen вне форума Ответить с цитированием
Старый 05.02.2007, 22:47   #6
londoner
Пользователь
 
Регистрация: 03.02.2007
Сообщений: 20
По умолчанию

Umen, спасиб. Правда она всё равно мелькает. Но меньше =) В смысле время задержки меньше! Мне вот интересно, можно сделать так, чтобы она вообще не рисовалась?
londoner вне форума Ответить с цитированием
Старый 06.02.2007, 07:11   #7
ClauZzz
Пользователь
 
Регистрация: 05.02.2007
Сообщений: 10
По умолчанию

Не рисовалась вообще? Пиши консольное приложение или службу.
Не рисовалась пока заставка? Есть проект, в нем до инициализации

Application.CreateForm(TMainForm, MainForm);

ДЕлаешь вывод того, что тебе нужно.
ClauZzz вне форума Ответить с цитированием
Старый 06.02.2007, 08:01   #8
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Не знаю о чём все говорят... помоему что бы форма не мелькала нужно сделать главной ту форму которая у тебя должна быть при включении, т.о. открываем проект--->Shift+Ctrl+F11--->И там выбираешь главную форму ту которую нужно загрузить первой!
execom вне форума Ответить с цитированием
Старый 06.02.2007, 09:40   #9
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

можно задвинуть форму за границу экрана.

Left ставим -1000 сразу.
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 06.02.2007, 10:17   #10
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

Попробуй в oncreate формы поставь
Код:
Application.Showmainform:=false;
этим решается и вопрос с закладкой в таскбаре и с видимостью формы

или так ещё попробуй

Код:
 
procedure TMainForm.FormCreate(Sender: TObject); 
begin 
  Application.OnMinimize:=AppMinimize; 
  Application.OnRestore:=AppMinimize; 
  Application.Minimize; 
  AppMinimize(@Self); 
end; 
procedure TMainForm.AppMinimize(Sender: TObject); 
begin 
  ShowWindow(Application.Handle, SW_HIDE); 
end;

Последний раз редактировалось Umen; 06.02.2007 в 10:20.
Umen вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать нестандартную форму steck Общие вопросы Delphi 10 07.12.2011 14:30
Как сделать форму невидимой при запуске dns-s Общие вопросы Delphi 3 15.08.2009 08:18
спрятать главную форму а открыть другую Ozerich Общие вопросы Delphi 9 05.08.2008 15:18
Как сделать форму? HAMMAN Помощь студентам 1 29.01.2008 22:11
Как сделать форму всегда активной? londoner Общие вопросы Delphi 3 04.03.2007 14:44