UPDATELAYEREDWINDOWINFO 结构 (winuser.h)
由 UpdateLayeredWindowIndirect 用于为分层窗口提供位置、大小、形状、内容和半透明信息。
语法
typedef struct tagUPDATELAYEREDWINDOWINFO {
DWORD cbSize;
HDC hdcDst;
const POINT *pptDst;
const SIZE *psize;
HDC hdcSrc;
const POINT *pptSrc;
COLORREF crKey;
const BLENDFUNCTION *pblend;
DWORD dwFlags;
const RECT *prcDirty;
} UPDATELAYEREDWINDOWINFO, *PUPDATELAYEREDWINDOWINFO;
成员
cbSize
类型:DWORD
此结构的大小(以字节为单位)。
hdcDst
类型: HDC
屏幕 DC 的句柄。 调用 UpdateLayeredWindowIndirect 时,通过在成员中指定 NULL 来获取此句柄。 当更新窗口内容时,句柄用于调色板颜色匹配。 如果 hdcDst 为 NULL,则使用默认调色板。
如果 hdcSrc 为 NULL, 则 hdcDst 必须为 NULL。
pptDst
类型: const POINT*
分层窗口的新屏幕位置。 如果新位置与当前位置保持不变, 则 pptDst 可以为 NULL。
psize
类型: const SIZE*
分层窗口的新大小。 如果窗口的大小不会更改,则此参数可以为 NULL。 如果 hdcSrc 为 NULL, 则 psize 必须为 NULL。
hdcSrc
类型: HDC
定义分层窗口的图面 DC 的句柄。 可以通过调用 CreateCompatibleDC 函数来获取此句柄。 如果窗口的形状和视觉上下文不会更改, 则 hdcSrc 可以为 NULL。
pptSrc
类型: const POINT*
层在设备上下文中的位置。 如果 hdcSrc 为 NULL, 则 pptSrc 应为 NULL。
crKey
类型: COLORREF
组合分层窗口时要使用的颜色键。 若要生成 COLORREF,请使用 RGB 宏。
pblend
类型: const BLENDFUNCTION*
组合分层窗口时要使用的透明度值。
dwFlags
类型:DWORD
此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
使用 pblend 作为混合函数。 如果显示模式为 256 色或更少,则此值的效果与 ULW_OPAQUE 的效果相同。 |
|
使用 crKey 作为透明度颜色。 |
|
绘制不透明的分层窗口。 |
|
如果当前窗口大小与 psize 中指定的大小不匹配,则强制 UpdateLayeredWindowIndirect 函数失败。 |
如果 hdcSrc 为 NULL, 则 dwFlags 应为零。
prcDirty
类型: const RECT*
要更新的区域。 此参数可以为 NULL。 如果为非 NULL,则仅从源 DC 更新此矩形中的区域。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | winuser.h (包括 Windows.h) |
请参阅
概念性
引用