小甲鱼 发表于 2016-2-20 01:20:42

GetUpdateRect

函数功能:

GetUpdateRect 函数获取一个能够包含指定窗口的整个更新区域的最小封闭矩形的坐标。

GetUpdateRect 函数返回的矩形使用逻辑坐标表示。

如果没有更新区域,GetUpdateRect 函数返回一个空的矩形(所有坐标均为 0)。


API 函数原型:

BOOL GetUpdateRect(
_In_HWND   hWnd,
_Out_ LPRECT lpRect,
_In_BOOL   bErase
);

参数解析:


参数 含义
hWnd 指定待获取更新区域矩形的窗口句柄
lpRect1. 指向 RECT 结构,设备单位
2. 应用程序可以通过将该参数设置为 NULL,来判断窗口是否存在更新区域(这个方法可以简单有效地判断 WM_PAINT 是否由无效区域引起的):

[*]如果该参数为 NULL,GetUpdateRect 函数返回非 0 值,说明更新区域存在;
[*]如果该函数为 NULL,GetUpdateRect 函数返回 0,说明更新区域不存在;

bErase 指定是否擦除更新区域的背景:如果该参数为 TRUE 且更新区域不为空,GetUpdateRect 函数发送一个 WM_ERASEBKGND 消息给指定窗口用于擦除背景


返回值:

1. 如果更新区域不为空,返回值是非 0;

2. 如果更新区域为空,返回值是 0。


备注:

1. BeginPaint 函数获取包含更新区域的矩形与 GetUpdateRect 获取的相同。

2. BeginPaint 函数会自动使更新区域有效,因此在 BeginPaint 之后立即调用 GetUpdateRect 函数都将获取一个空的更新区域。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

页: [1]
查看完整版本: GetUpdateRect