窗口透明
//窗口透明, 内控件不透明
procedure TForm1.FormCreate(Sender: TObject);
begin
TransparentColor:=True;
TransparentColorValue:=25;
Color:=Form1.TransparentColorValue;
end;
//窗口透明, 内控件也透明
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.AlphaBlend:=true;
Form1.AlphaBlendValue:=120;
end;
//Form1.AlphaBlendValue 值为透明度值.
SetLayeredWindowAttributes
函数功能:设置窗口透明颜色
格式:
BOOL SetLayeredWindowAttributes(
HWND hwnd, //窗口手柄
COLORREF crKey, //指定颜色值
BYTE bAlpha, //混合函数值
DWORD dwFlags //动作
);
参数解释:
hwnd :
窗口句柄。当使用CreateWindowEx函数创建窗口时,窗口由WS_EX_LAYERED指定的值创建;或者窗口已经创建后,由SetWindowLong根据 WS_EX_LAYERED指定的值改。
crKey
指向一个COLORREF值,该值指定一个透明颜色值,当创建窗口时,窗口将使用该值。窗口绘制的所有颜色将为透明。要想产生COLORREF值,请使用RGB宏。
bAlpha
混合函数值。该值用于描述窗口的透明度。当bAlpha 值为0时,窗口完全透明,当bAlpha值为255时,窗口完全不透明。
dwFlags
指定动作。这个参数可以取一个或多个值:
返回值:
如果函数成功,返回非零值。如果函数失败,返回零值。
注意:一旦SetLayeredWindowAttributes调用该函数,随后的UpdateLayeredWindow调用将会无效,直到层风格的点被清除并重新设置