![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить прозрачную форму, но всё, что на ней - видимое? [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;