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

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

Как получить прозрачную форму, но всё, что на ней - видимое? [D5, Win95/98, WinME, NT4, Win2k, WinXP]


serg128 ©   (2005-01-25 18:31:00) 

Т.е. задача такая: делаю прозрачную форму:
  SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle,     GWL_EXSTYLE) | WS_EX_LAYERED);
   SetLayeredWindowAttributes(Handle, 0, 80, LWA_ALPHA);

А на ней тоже всё невидимое. Так мне нужно, чтоб там все картинки (в TImage и TRxGIFAnimation) должны быть видимые.


KSergey   (2005-01-26 14:15:00) [1]

> [4] Developerr   (26.01.05 13:29)
> > А как такую-же байду замутитьв Win9x?
> А зачем тогда писать, что Вы работаете со всеми ОС?
> WinME - это вообще не система для программирования.

Да программирование тут ни при чем, думаю.
Речь, вероятно, о работе программы...

Думаю можно перекрыть WM_PAINT и WM_NCPAINT.
ну и ничего не рисовать в них, соответственно... ;)


Developerr   (2005-01-26 13:29:00) [2]


> А как такую-же байду замутитьв Win9x?

А зачем тогда писать, что Вы работаете со всеми ОС?

> [D5, Win95/98, WinME, NT4, Win2k, WinXP]


WinME - это вообще не система для программирования. Чуть какой-то глюк программе при запуске (F9) если происходит сбой система виснет напрочь, помгает только выражение

7 бед - один Reset. Да и вообще, если программировать на Delphi то лучше переходить на ядро NT.


Rem   (2005-01-26 12:42:00) [3]

Уже готовое:
 TForm.TransparentColor
 TForm.TransparentColorValue

P.S. Правда, это в D6; не уверен, что в D5 это реализвано.


serg128   (2005-01-26 12:39:00) [4]

А как такую-же байду замутитьв Win9x?


Developerr   (2005-01-25 18:51:00) [5]

Вот пример кода:

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;


Наверх

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