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 来获取此句柄。 当更新窗口内容时,句柄用于调色板颜色匹配。 如果 hdcDstNULL,则使用默认调色板。

如果 hdcSrcNULL则 hdcDst 必须为 NULL

pptDst

类型: const POINT*

分层窗口的新屏幕位置。 如果新位置与当前位置保持不变, 则 pptDst 可以为 NULL

psize

类型: const SIZE*

分层窗口的新大小。 如果窗口的大小不会更改,则此参数可以为 NULL。 如果 hdcSrcNULL则 psize 必须为 NULL

hdcSrc

类型: HDC

定义分层窗口的图面 DC 的句柄。 可以通过调用 CreateCompatibleDC 函数来获取此句柄。 如果窗口的形状和视觉上下文不会更改, 则 hdcSrc 可以为 NULL

pptSrc

类型: const POINT*

层在设备上下文中的位置。 如果 hdcSrcNULL则 pptSrc 应为 NULL

crKey

类型: COLORREF

组合分层窗口时要使用的颜色键。 若要生成 COLORREF,请使用 RGB 宏。

pblend

类型: const BLENDFUNCTION*

组合分层窗口时要使用的透明度值。

dwFlags

类型:DWORD

此参数的取值可为下列值之一:

含义
ULW_ALPHA
0x00000002
使用 pblend 作为混合函数。 如果显示模式为 256 色或更少,则此值的效果与 ULW_OPAQUE 的效果相同。
ULW_COLORKEY
0x00000001
使用 crKey 作为透明度颜色。
ULW_OPAQUE
0x00000004
绘制不透明的分层窗口。
ULW_EX_NORESIZE
0x00000008
如果当前窗口大小与 psize 中指定的大小不匹配,则强制 UpdateLayeredWindowIndirect 函数失败。
 

如果 hdcSrcNULL则 dwFlags 应为零。

prcDirty

类型: const RECT*

要更新的区域。 此参数可以为 NULL。 如果为非 NULL,则仅从源 DC 更新此矩形中的区域。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 winuser.h (包括 Windows.h)

请参阅

概念性

引用

UpdateLayeredWindow

窗口功能