Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Visible формы. [D6, Win95/98]


Lony ©   (2002-10-06 11:38:00) 

Почему при загрузки программы в OnCreat формы не работает form1.visible:=false? И как тогда это можно реализовать?
И ещё, где можно взять компоненту "прозрачная форма"?


Star   (2002-10-06 14:33:00) [1]

2 BOA_KAA
Свойства AlphaBlend и AlphaBlendValue работают ТОЛЬКО в W2K и в Windows XP. Человек же ясно указал: [D6, Win95/98]


BOA_KAA   (2002-10-06 13:32:00) [2]


> Vlad1 © (06.10.02 13:26)


Может тогда просто в FAQ отослать человека и не искать самому ссылки?:-)))))


Vlad1   (2002-10-06 13:26:00) [3]

СМ. ещё
http://zorro.usi.ru/Doc/delphi_faq.htm
Вот копия с указанного сайта
Вот пример кода:

type
TForm1 = class(TForm)
{ ... }
protected
procedure CreateParams(var Params : TCreateParams); override;
end;

procedure TForm1.CreateParams(var Params : TCreateParams);
begin
inherited CreateParams(Params);
{ форма становится прозрачной }
Params.ExStyle := Params.ExStyle or WS_EX_TRANSPARENT;
end;

end;
см. на этом сайте
"Q: Как мне запрограммировать непрямоугольную форму, например, как у Norton CrashGuard, в форме щита?"


BOA_KAA   (2002-10-06 13:12:00) [4]

За прозрачность формы отвечает ее свойство AlphaBlend. Переставь его в True, а степень прозрачности - AlphaBlendValue: 0 - абсолютно прозрачная и 255 - полностью непрозраная (если так можно сказать) форма.


Vlad1   (2002-10-06 12:57:00) [5]

В 98-й Винде работает такая штука:

interface
private
procedure CreateParams(var Params:TCreateParams);override;
....................................................
implementation
....................................................
Tform1.CreateParams(var Params:TCreateParams);
begin
inherited;
Params.ExStyle:=Params.ExStyle or WS_EX_TRANSPARENT;
end;
....................................................

См. также http://delphi.proext.com/secr/get.cgi?id=1&num=19,
http://www.gyry.net/prog/faq/window.htm


sask   (2002-10-06 12:51:00) [6]

Немного вынужден поправить себя :)

событие OnActivate:
.......
// убираем приложение из TaskBar (если надо конечно)
ShowWindow(Application.Handle, SW_HIDE);
// убираем окошко формы
ShowWindow(Form1.Handle, SW_HIDE);
.......


Pat   (2002-10-06 12:39:00) [7]

1)Как я понял проблема стоит при создании главной формы...
на OnCreate добавь:
Application.ShowMainForm:=false;
2)Что значит прозрачная?
Примерно на OnCreate ставишь:
form1.Brush.Style:=bsClear;
(можно то же самое, но через регионы, причем работать будет лучше :-)))
Или тебе надо с изменяемой степенью прозрачности? Тогда см здесь:
http://delphi.vitpc.com/treasury/samples.htm#link10


sask   (2002-10-06 12:09:00) [8]

попробуй по событию FormShow:

ShowWindow(Application.Handle, SW_MINIMIZE);
ShowWindow(Form1.Handle, SW_MINIMIZE);
ShowWindow(Application.Handle, SW_HIDE);


Lony   (2002-10-06 12:04:00) [9]

Спасибо, Эльф. Но таймер не подходит. Как-то раньше я это делал по-другому, а как - не помню.
Прозрачная форма - два года назад у меня была такая компонента, но тогда я был маленький. Теперь опять ищу.


Эльф   (2002-10-06 11:53:00) [10]

Можно повесить таймер с интервалом 1. При срабатывании Form1.visible:=false; timer1.enabled:=false;
Это первое, что пришло мне в голову ;)
2 - прозрачность под Win98 - интересная проблема. А такое возможно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо