Текущий архив: 2008.08.03;
Скачать: CL | DM;
Вниз
Прозрачность Найти похожие ветки
← →
гыгы (2008-07-04 20:40) [0]Как сделать что бы сама форма была прозрачная а компоненты на ней нет? Я сделал на свойствах формы:
AlphaBlend - True
AlphaBlendValue - 100
но прозрачна не только форма но и все находящиеся на ней, а я хотел бы что бы форма прозрачна а например Лейбл на ней видно отчетливо.как это сделать, заранее спасибо
← →
Rouse_ © (2008-07-04 20:44) [1]
procedure TForm1.Button1Click(Sender: TObject);
var
I, X, Y: Integer;
TmpReg, WindowRegion: HRGN;
hRect: TRect;
begin
hRect := GetClientRect;
X := (Width - hRect.Right) div 2;
Y := Height - hRect.Bottom - GetSystemMetrics(SM_CYSIZEFRAME);
WindowRegion := CreateRectRgnIndirect(hRect);
GetWindowRgn(Handle, WindowRegion);
try
for I := 0 to ComponentCount - 1 do
with TControl(Components[I]) do
begin
if Parent = Self then
begin
TmpReg := CreateRectRgn(Left + X, Top + Y, Width + Left + X, Height + Top + Y);
try
CombineRgn(WindowRegion, TmpReg, WindowRegion, RGN_XOR);
finally
DeleteObject(TmpReg);
end;
end;
end;
TmpReg := CreateRectRgnIndirect(hRect);
try
GetWindowRgn(Handle, TmpReg);
CombineRgn(WindowRegion, TmpReg, WindowRegion, RGN_XOR);
SetWindowRgn(Handle, WindowRegion, True);
finally
DeleteObject(TmpReg);
end;
finally
DeleteObject(WindowRegion);
end;
end;
← →
Renegat (2008-07-04 20:56) [2]> [1] Rouse_ © (04.07.08 20:44)
Речь видимо шла не о полной прозрачности, а только об альфа-блендинге...
может быть, наследовать кнопки не от того полупрозрачного окна, а от "приклеенного" к нему ещё одного, над которым прочтено заклятие из [1]?
Криво конечно.
но работать будет
Страницы: 1 вся ветка
Текущий архив: 2008.08.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c