Форум: "WinAPI";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизПроблемма с установкой прозрачности окна Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c