Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 726

/ вопрос решён /

Здравствуйте, уважаемые эксперты!Как сделать чтобы главная форма при загрузке приложения была не visible (невидимой)?

Аксион Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Аксион (статус: 4-ый класс)
Вопрос отправлен: 10 июля 2007, 18:05
Состояние вопроса: решён, ответов: 3.

Ответ #1. Отвечает эксперт: Николай Рубан

Здравствуйте, Матвеев Мефодий Олегович!

Вам достаточно сделать ее просто прозрачной "по полной программе..." - например так:

procedure TForm1.FormCreate(Sender: TObject);
begin
AlphaBlend:=True;
AlphaBlendValue:=0; //параметр может принимать значение в интервале от 0 до 255 (коэффициент прозрачности)
end;

Good Luck!!!

Ответ отправил: Николай Рубан (статус: 10-ый класс)
Время отправки: 10 июля 2007, 18:53
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: Градов Ю.М.

Здравствуйте, Матвеев Мефодий Олегович!
Выбираете в свойствах формы WindowsState - wsMinimized.
Чтобы создать полностью невидимое приложение необходимо написать так, как в приложении, затем нажать Ctntl+F12 и выбрать проект, добавить следующую строку: IsLibrary := True;

Приложение:
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3. Application.CreateHandle;
  4. ShowWindow(Application.Handle, SW_HIDE);
  5. Application.ShowMainForm := FALSE;
  6. end;
  7.  


Ответ отправил: Градов Ю.М. (статус: 8-ой класс)
Время отправки: 10 июля 2007, 19:57
Оценка за ответ: 5

Ответ #3. Отвечает эксперт: Вадим К

Здравствуйте, Матвеев Мефодий Олегович!
Всё не то что просто, а очень просто. Открываем файл проекта (тот, который имеет расширение dpr) с помощю меню Project-View Source и дописываем после строки Application.CreateForm(TForm1, Form1);
свою
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm:=false;.
А то что написали два предыдущих эксперта просто никуда не лезит ни в какие ворота. Эти ответы даже решениями-костылями назвать нельзя. Эксперты, вы хоть пробывали сделать то, что советуете?
И если в ответе Градов Ю.М. правильная строка прослеживается, хотя она и прикрыта кучей непонятного кода, за который нужно руки отрывать, то в Николая Рубана вообще не по теме

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 10 июля 2007, 22:12
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 9; последнее сообщение — 11 июля 2007, 20:23; участников в обсуждении: 4.
Николай Рубан

Николай Рубан (статус: 10-ый класс), 10 июля 2007, 22:43 [#1]:

>>Вадим К
Здрасте приехали!!!!!!!!!!!!!!!!!!
Конечно я пробовал!!! А Вы, пробовали испытать тот код, что я привел!!!???
Вадим К

Вадим К (статус: Академик), 10 июля 2007, 23:06 [#2]:

Зачем мне испытывать? я и так знаю, что он сделает.
А он сделает следующее. При AlphaBlendValue<>0; форма станет прозрачной. При 1 практически невидимой. Но по ней кликнуть можно! она будет "интересно мешать работать". При 0 она уже будет прозрачной и для мыши. Но на панели задач она будет видимой и будет мешать. Вижу того пользователя, который пытается её развернуть:)

К тому же, как заметил Андрей Ерёмин, этот код будет работать только под 2000/XP/2003/Vista
Под 9х - нет. Но утешает одно - таких операционок с каждым днём всё меньше и меньше
Галочка "подтверждения прочтения" - вселенское зло.
Николай Рубан

Николай Рубан (статус: 10-ый класс), 10 июля 2007, 23:44 [#3]:

Ну тут вопрос вообщето спорный... - просили "убрать" форму, вот ее и убрал.
Да согласен, что в панели задач останется "след", но в принципе поставленная задача решена - а приложения невидимки создавать простои без шума не так уж и просто.
Если на то пошло то в идеале приложение должно быть невидимо не только как форма (приложение), но и как процесс...
:)
Вадим К

Вадим К (статус: Академик), 10 июля 2007, 23:51 [#4]:

А теперь посмотрите на мой вариант. Не кажеться вам, что он решает задачу "культурным" способом?
Не кажеться ли вам, что ваше решение крайне корявое? Оно не решает задачу, оно пытается симулировать его
Галочка "подтверждения прочтения" - вселенское зло.
Николай Рубан

Николай Рубан (статус: 10-ый класс), 11 июля 2007, 00:10 [#5]:

Да согласен с точки зрения программирования, как предмета у Вас ответ более верный ;)
Но и мой ответ также заслуживает право на жизнь, хотя и не такое эстетичный.
Вадим К

Вадим К (статус: Академик), 11 июля 2007, 00:54 [#6]:

Учимся учить людей, а не затуплять.
Галочка "подтверждения прочтения" - вселенское зло.
Аксион

Аксион (статус: 4-ый класс), 11 июля 2007, 09:56 [#7]:

Не сорьтесь - все ответы хорошие, я вообще ставил на форму таймер с интервалом = 1 и в обработчик событий писал
form1.visible:=false;
timer1.enambled:=false;
но тогда форма какбы мигала при запуске приложения
Аксион

Аксион (статус: 4-ый класс), 11 июля 2007, 10:04 [#8]:

да и кстати мне подошёл AlphaBlendValue:=0 на панели задач след от приложения ни остался потому что при запуске приложение сворачивается в трей
Градов Ю.М.

Градов Ю.М. (статус: 8-ой класс), 11 июля 2007, 20:23 [#9]:

To: Николай Рубан
Кстати Вы пробовали то, что я посоветовал, абсолютно рабочее. Извините за поздний ответ - только пришел с работы.

31 января 2011, 19:23: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:34
Выполнено за 0.02 сек.