Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
15-1213726912
AlexDan
2008-06-17 22:21
2008.08.03
Я памятник воздвих сибе нирукотворный...


15-1213723148
@!!ex_
2008-06-17 21:19
2008.08.03
Проблемы с начальством


15-1213690490
Gg
2008-06-17 12:14
2008.08.03
Стоимость работ


6-1191397323
Gydvin
2007-10-03 11:42
2008.08.03
Узнать IP


2-1214880947
Alexey.sh
2008-07-01 06:55
2008.08.03
Проблема с модулем dialogs.pas




   Наверх