SetLayeredWindowAttributes 函数 (winuser.h)
设置分层窗口的不透明度和透明度颜色键。
语法
BOOL SetLayeredWindowAttributes(
[in] HWND hwnd,
[in] COLORREF crKey,
[in] BYTE bAlpha,
[in] DWORD dwFlags
);
参数
[in] hwnd
类型:HWND
分层窗口的句柄。 通过使用 CreateWindowEx 函数创建窗口时指定WS_EX_LAYERED,或者在创建窗口后通过 SetWindowLong 设置WS_EX_LAYERED来创建分层窗口。
Windows 8:顶级窗口和子窗口支持WS_EX_LAYERED样式。 以前的 Windows 版本仅对顶级窗口支持 WS_EX_LAYERED 。
[in] crKey
类型: COLORREF
COLORREF 结构,指定组合分层窗口时要使用的透明度颜色键。 窗口以这种颜色绘制的所有像素都是透明的。 若要生成 COLORREF,请使用 RGB 宏。
[in] bAlpha
类型: BYTE
用于描述分层窗口的不透明度的 Alpha 值。 类似于 BLENDFUNCTION 结构的 SourceConstantAlpha 成员。 当 bAlpha 为 0 时,窗口是完全透明的。 当 bAlpha 为 255 时,窗口是不透明的。
[in] dwFlags
类型:DWORD
要执行的操作。 此参数可使用以下一个或多个值。
值 | 含义 |
---|---|
|
使用 bAlpha 确定分层窗口的不透明度。 |
|
使用 crKey 作为透明度颜色。 |
返回值
类型: BOOL
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
请注意,一旦为分层窗口调用 SetLayeredWindowAttributes ,后续 的 UpdateLayeredWindow 调用将失败,直到清除并再次设置分层样式位。
有关详细信息,请参阅 使用分层窗口。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 8.1) 中引入的 ext-ms-win-ntuser-window-l1-1-1 ( |
另请参阅
概念性
其他资源
引用