GetLayeredWindowAttributes 函数 (winuser.h)

检索分层窗口的不透明度和透明度颜色键。

语法

BOOL GetLayeredWindowAttributes(
  [in]            HWND     hwnd,
  [out, optional] COLORREF *pcrKey,
  [out, optional] BYTE     *pbAlpha,
  [out, optional] DWORD    *pdwFlags
);

参数

[in] hwnd

类型:HWND

分层窗口的句柄。 使用 CreateWindowEx 函数创建窗口时指定WS_EX_LAYERED,或者在创建窗口后使用 SetWindowLong 设置WS_EX_LAYERED来创建分层窗口。

[out, optional] pcrKey

类型: COLORREF*

指向 COLORREF 值的指针,该值接收在组合分层窗口时要使用的透明度颜色键。 窗口以这种颜色绘制的所有像素都是透明的。 如果不需要 参数,则可以为 NULL

[out, optional] pbAlpha

类型: BYTE*

用于描述分层窗口不透明度的 Alpha 值。 类似于 BLENDFUNCTION 结构的 SourceConstantAlpha 成员。 当 pbAlpha 引用的变量为 0 时,窗口是完全透明的。 当 pbAlpha 引用的变量为 255 时,窗口不透明。 如果不需要 参数,则可以为 NULL

[out, optional] pdwFlags

类型: DWORD*

分层标志。 如果不需要该值,此参数可以为 NULL 。 分层标志可以是以下一个或多个值。

含义
LWA_ALPHA
0x00000002
使用 pbAlpha 确定分层窗口的不透明度。
LWA_COLORKEY
0x00000001
使用 pcrKey 作为透明度颜色。

返回值

类型: BOOL

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

仅当应用程序以前在窗口中调用 SetLayeredWindowAttributes 时,才能调用 GetLayeredWindowAttributes 如果分层窗口是使用 UpdateLayeredWindow 设置的,则函数将失败。

有关详细信息,请参阅 使用分层 Windows

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8.1) 中引入的 ext-ms-win-ntuser-window-l1-1-1 (

请参阅

概念性

CreateWindowEx

引用

SetLayeredWindowAttributes

SetWindowLong

使用 Windows

Windows