Zdravim,
mam Form1 , jeho property TransparentColor jsem nastavil na True, do vlastnosti OnShow jsem pridal proceduru na zpruhledneni :
procedure TForm1.Pruhledny;
var
AControl: TControl;
A, Margin, X, Y, CtlX, CtlY: Integer;
begin
Margin := (Width - ClientWidth) div 2;
FullRgn := CreateRectRgn(0, 0, Width, Height);
X := Margin;
Y := Height - ClientHeight - Margin;
ClientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight);
CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);
for A := 0 to ControlCount - 1 do
begin
AControl := Controls[A];
if (AControl is TWinControl) or (AControl is TGraphicControl) then with AControl do
begin
if Visible then
begin
CtlX := X + Left;
CtlY := Y + Top;
CtlRgn := CreateRectRgn(CtlX, CtlY, CtlX + Width, CtlY + Height);
CombineRgn(FullRgn, FullRgn, CtlRgn, RGN_OR);
end;
end;
end;
SetWindowRgn(Handle, FullRgn, True);
end;
tohle funguje krasne, formular se zpruhledni,ale kdyz do Form1 vlozim komponentu Image a do jeji property Picture nahraju .bmp soubor s bilym pozadim, na kterym jsou tri obdelniky:
a property TransparentColor nastavim na True, tak se mi objevi,jako ze je pruhledny:
ale kdyz spustim aplikaci, tak je pod nim sedej podklad:
nevite nekdo, jak to vyresit ??
diky za odpoved.