Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Проблемма с установкой прозрачности окна   Найти похожие ветки 

 
Engy ©   (2004-08-09 11:48) [0]

Попробовал такой кусок кода, но окошко не отреагировало, кто делал, подскажите...


const
 MY_WS_EX_LAYERED = $00080000;
 MY_LWA_ALPHA = $00000002;
var
 AStyle: Integer;
 bTransparent: Boolean = True;
 MySetLayeredWindowAttributes: TSetLayeredWindowAttributes = nil;
 iBlendValue: Byte = 70;

...

 AStyle := GetWindowLong(Handle, GWL_EXSTYLE);
 if (@MySetLayeredWindowAttributes <> nil) and bTransparent then begin
   if (AStyle and MY_WS_EX_LAYERED) = 0 then
     SetWindowLong(Handle, GWL_EXSTYLE, AStyle or MY_WS_EX_LAYERED);
   MySetLayeredWindowAttributes(Handle, RGB(0,0,0), Round(iBlendValue * 255 div 100), MY_LWA_ALPHA);
 end
 else begin
     SetWindowLong(Handle, GWL_EXSTYLE, AStyle and not MY_WS_EX_LAYERED);
     RedrawWindow(Handle, nil, 0, RDW_ERASE or RDW_INVALIDATE or RDW_FRAME or RDW_ALLCHILDREN);
 end;


 
Ajax ©   (2004-08-09 11:54) [1]

Приведу то что у меня работает:
SetWindowLong(Wnd,GWL_EXSTYLE,GetWindowLong(Wnd,GWL_EXSTYLE) or WS_EX_LAYERED);

SetLayeredWindowAttributes(Wnd,0,Transparency,LWA_ALPHA);
или
SetLayeredWindowAttributes(Wnd, Color,Transparency ,LWA_ALPHA or LWA_COLORKEY);


 
Fynjy   (2004-08-09 12:02) [2]

form1.alphablend не подходит?


 
Engy ©   (2004-08-09 12:18) [3]

2Ajax Спасибо, заработало...



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
4-1091614839
AlexTP
2004-08-04 14:20
2004.09.19
Не был произведен вызов CoInitialize


1-1093975461
Gear
2004-08-31 22:04
2004.09.19
XPman и Panel


14-1094112245
nick-from
2004-09-02 12:04
2004.09.19
Продлема с StrToDate


14-1093365091
SergP
2004-08-24 20:31
2004.09.19
Автосхема


3-1093076186
nel
2004-08-21 12:16
2004.09.19
Компонент TStoredProc