Текущий архив: 2005.02.06;
Скачать: CL | DM;
Вниз
Как получить прозрачную форму, но всё, что на ней - видимое? Найти похожие ветки
← →
serg128 (2005-01-25 18:31) [0]Т.е. задача такая: делаю прозрачную форму:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle, 0, 80, LWA_ALPHA);
А на ней тоже всё невидимое. Так мне нужно, чтоб там все картинки (в TImage и TRxGIFAnimation) должны быть видимые.
← →
Developerr (2005-01-25 18:51) [1]Вот пример кода:
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;
← →
serg128 (2005-01-26 12:39) [2]А как такую-же байду замутитьв Win9x?
← →
Rem © (2005-01-26 12:42) [3]Уже готовое:
TForm.TransparentColor
TForm.TransparentColorValue
P.S. Правда, это в D6; не уверен, что в D5 это реализвано.
← →
Developerr (2005-01-26 13:29) [4]
> А как такую-же байду замутитьв Win9x?
А зачем тогда писать, что Вы работаете со всеми ОС?
> [D5, Win95/98, WinME, NT4, Win2k, WinXP]
WinME - это вообще не система для программирования. Чуть какой-то глюк программе при запуске (F9) если происходит сбой система виснет напрочь, помгает только выражение
7 бед - один Reset. Да и вообще, если программировать на Delphi то лучше переходить на ядро NT.
← →
KSergey © (2005-01-26 14:15) [5]> [4] Developerr (26.01.05 13:29)
> > А как такую-же байду замутитьв Win9x?
> А зачем тогда писать, что Вы работаете со всеми ОС?
> WinME - это вообще не система для программирования.
Да программирование тут ни при чем, думаю.
Речь, вероятно, о работе программы...
Думаю можно перекрыть WM_PAINT и WM_NCPAINT.
ну и ничего не рисовать в них, соответственно... ;)
Страницы: 1 вся ветка
Текущий архив: 2005.02.06;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.022 c